Challenge Overview

We are starting a new challenge series with focus on building microservices based on Spring, Java and Mysql.
In this challenge we'll be creating a microservice incorporating the logic for CRUD operation for LOB – LineOfBusiness. We will create methods which perform view operations based on various parameters as mentioned in below section.

Business Case
  • The user seeks to create/update/fetch/delete Line of business details of the LOB Microservice.
  • View operation based on parameters 
Microservice details are available in the document attached in the forums

Required Technology

Make sure to use exact versions. Submissions using different versions will NOT be accepted.
  1. Spring Boot (v1.4.7)
  2. Hibernate(stable compatible version for Spring Boot v1.4.7)
  3. Hikari (v2.7.2 version supported on Java 8)
  4. Log Stash(v5.5.1 appender being KAFKA)
  5. The JUNIT testcases should be incorporated for all scenarios and should be executable too.
General Requirements
Services should produce daily logs with all requests/responses/errors persisted to log files. Unit tests, swagger and postman files are required only for Microservice. Annotations are preferred over xml configuration where possible. 

Deployment
Create a Docker image for the service. Image  should have just the minimal environment and should start only the app process (so don't make the entrypoint be a bash shell). Application code should be embeded into the image, and not mapped as a volume. Service logs directories should be mapped to a directory on the host.Include instructions for deploying the services locally (both with docker and within development environment), and Heroku (docker). Any configurations (db url, credentials, etc) should be added to application config files and read from environment variables (default) and sane defaults values for when env variables are not defined.
Application will be using MySql as database, so create a docker-compose script that starts the application and db services.

Note: This challenge has short review and appeals phases, so pay attention to the timeline.

Final Submission Guidelines

Submit the complete source for the microservice
Submit a dockerfile for building the app image
Submit a docker-compose yaml file for starting both services
Postman collection for testing the api
Deployment and verification guide

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30061524