Considered this submission as a PASSED case.
Submitted tech challenge:
Pros Things we liked:
- Detailed and correct documentations.
- API endpoints naming follows problem statement.
- Clean and tidy code.
- Docker containers are running fine.
- Demonstrated well use of existing frameworks/libraries.
- Have both integration and unit tests.
- All test cases can be executed successfully.
Cons Reasons why the submission fell short:
- Usage of HTTP status code for fail case is a confusing.
Secondary reasons:
- N/A
Suggestions and Things that Can Be Improved:
- Consider to return HTTP 400(bad request) rather than HTTP 500 (internal server error) for invalid user input when placing order.
Testing environment:
- Droplet(instance) at DigitalOcean SGP1
- Ubuntu 18.04 x64
- Docker CE Client/Server v18.06.1-ce
- Docker-Compose v1.22.0