Welcome to our code challenge.
Some additional changes were performed.
- multistage dockerfile was created
- new make commands were created:
build
which will build application docker image andrunall
which will run both app and DB at the same time - application was migrated to Java 11
- Make sure you have a running Java and Docker set up (scripts written for Linux)
- Start the database with
make updb
- Startup the
SafeReachCodeChallengeApplication
to initialize the database - Fill test data into the database with
make init
- Call
http://localhost:8080/run
in your browser make run
will call the test suite
You encountered a package in the java code named donottouch
. Which includes the DoNotTouchProcessor
. It does some
strange calculations to process some Data
. As a challenge participant it's your task to improve the execution speed
our RunController
and optimize the SafeReachCodeChallengeApplication
.
- Do not touch the code inside the
donottouch
package orscript/
folder. - Everything else is allowed - be creative
- Process as much data in 10 seconds as possible
- Detect possible bottlenecks, showcase and solve them
- Push your code to GitHub repository
- Imagine multiple people work in this code case (issues, pull requests and commit messages matter)
We will take a look at the GitHub repo together and go over the code changes.
Afterwards I will clone the repo, start the application and execute make run
.
- Setup a CI Github actions workflow for this application
- Let GitHub actions create a docker image which is pushed to the GitHub package registry