Hello!
For the pet project, it is necessary to analyze the API and answer the questions.
A mandatory requirement is experience in route building systems.
https://openrouteservice.org/
Context:
The goal of the project is to build a route through predefined points. The points can be single (location) or an array of points (the road that the system recommends to build the route).
For example: it is necessary to build a route from Vinnytsia to Yaremche. Google Maps builds this route classically for the navigator (Vinnytsia - Khmelnytskyi - Ternopil - Lviv - Ivano-Frankivsk - Yaremche).
For the project, it is required that the system suggests the following route (Vinnytsia - Khmelnytskyi - Kamianets-Podilskyi - Khotyn - Chernivtsi - Kolomyia - Yaremche).
The points will be returned from the internal database. That is, there is a list of "interesting" points through which it is worth laying the route. Sorting (priority) is on the side of the already existing backend. Also, in the database, there are JSONs with various roads that should be traveled.
So, the questions are:
1. Can the framework, having the starting and finishing coordinates, return an array of coordinates (area) in which to search for places to visit? (For example, the route from Vinnytsia to Yaremche. The system must understand which points to suggest while maintaining the correct direction. That is, the route should not be built in the opposite direction, like first to Uman, and then towards Yaremche).
2. How many points can the API accept for route building?
3. How will it work if a JSON with the road is added? That is, there is an array of coordinates that forms the road. The problem with Google API is that there is a limit of 10 points. Accordingly, it is impossible to force it to follow a specific road (because there is a highway nearby, and Google navigation will always return to the "main" road).
4. How does their POI system work? I understand that this is the search for interest around a coordinate. Can a custom database be used as points of interest around a coordinate?
5. Does it allow setting a visit time for each of the points? That is, there are 5 points. The time limit for the route in total is 8 hours. Each of the points has a visit time in the database (from 30 minutes to 2 hours). If the system understands that it is impossible to visit all 5 points and travel the route in 8 hours - it returns a hook that the number of points needs to be reduced. Our backend returns a new list with 4 points, and the route is rebuilt.
6. Extra task. Describe other API elements that are worth knowing.
The result should be:
- A Google Docs file with access to Comment until the work is accepted.
- A description of your relevant experience for the project. This is important because this is only the first task. Over the next year, there will be more tasks, implementation of this API or another route building engine. Therefore, the task is partially a test task.
- For questions 1 to 5 - a written response in open form. If the answer is positive - provide evidence to convince that the answer makes sense.
- 6. Open question. I rely on the technical expertise of the performer to highlight the useful features of this API. If details about the project are needed - I am ready to communicate.