At Sloth Enterprise, we offer our customers 3 different products.
- Select Invoice Discount
- Confidential Invoice Discount
- Business Loans
Each product has different application criteria and is hosted in its very own microservice. Sloth Enterprise provides a single service : ProductApplicationService
as a nexus for these 3 microservices. The said service is hosted in this project. We are looking at adding more products and realised that the code isn't well written or extensible.
This project consists of a single service that receives a single customer application for a specific service, then routes it to the respective product microservice.
This code was written by a baby sloth some time ago and needs a bit of TLC.
- Describe in
Comments.md
the code issues withProductApplicationService
. List top 5 main areas of concern. - Refactor
ProductApplicationService
. (do not touch SlothEnterprise.External)
We advise you to take between 60 to 90 minutes to complete this task.
Note that we have added xUnit as the default testing framework but you are welcome to use whatever testing framework you are most comfortable with
- Code quality and consistency
- Readability and simplicity
- Backwards compatibility
- Extensibility
- Test quality
- Commit history
Here are guidelines on how to submit the exercise
- ZIP your code directory, without uncommitted / ignored files (i.e. NuGet packages)
- include git, but exclude anything not checked in (git clean -fdx).
- Email the submission in a zip file to our Talent team contact
Get in touch with us via email at [email protected]!