Test task for Sprout Therapy Description can be found in Sprout Therapy Assignment.pdf
For this task I used Rust programming language (as a main language used at the Company), and libraries:
actix_web
for HTTP APIserde
andserde_json
for de-/serializationlog
andenv_logger
for logging purposes
Built-in Unit tests and Integration tests were used for testing.
For the business logic itself an extensible and configurable solution was developed, that allows to override custom business rules used in the computation of result values. Details can be found in src/business_logic.rs. For the HTTP API simple JSON protocol was used.
- Divide application on layers/components (for easier testing)
- Correctness
- Test coverage