The goal of this challenge is to build a solution comprised of REST APIs that finds the closest port to a given ship and calculates the estimated arrival time based on velocity and geolocation (longitude and latitude) of given ship. Requirements are;
- Each port has a name and geolocation. Seed your solution with initial (or randomly generated) port data. No REST API is required for creating ports.
- Each ship has a name, a unique ship id, geolocation (current longitude and latitude of the ship) and velocity. Develop basic REST APIs to manage ships.
- Develop an API which returns the details of closest port and estimated arrival time of given ship to the closest port.
Using C# is a must for this solution. Aside from that, feel free to use any technologies/tools/frameworks/libraries ...etc you prefer. Deliver time should not be longer than a week.
- As a consumer of the API, I want to be able to add ships to the system.
- As a consumer of the API, I want to be able to see all ships in the system.
- As a consumer of the API, I want to be able to update velocity of a ship.
- As a consumer of the API, I want to be able to see the closest port to a ship with estimated arrival time to the port together with relevant details.
Create a github repo and share the link with us via e-mail.
Following aspects will be taken into the consideration for the evaluation:
- Code quality and testing
- Code structure
- Best practices and principles
- Basic level of system design
- Documentation of your solution as a README file
- Docker
- Some basic CI scripting
Should you have any questions, feel free to send us an e-mail.