Консольное приложение для нахождения маршрутов между городами, использующее Yandex Api.
Консольное приложение ищет список возможных маршрутов до пункта назначения и обратно любыми видами транспорта (например самолет + поезд) на определенную дату (передается аргументом командной строки). Найденые промежуточные результаты кэшируются в памяти и на файловой системе для уменьшения количества запросов на внешний сервис.
В качестве источника информации используется API Яндекса Расписаний. Апи-ключ передается в качестве аргументов командной строки
Для выполнения HTTP-запросов используется бибилиотека С++ Requests. В качестве библиотеки для работы с json-ответом - nlohmann/json.
- C++20
- CMake 3.12+
- Библиотеки:
- cpr (https://github.com/libcpr/cpr)
- nlohmann/json (https://github.com/nlohmann/json)
git clone https://github.com/vanish007/Route-Finder
cd Route-Finder
mkdir build && cd build
cmake ..
cmake --build .
Usage: route-finder.exe [options]
Опция | Аргумент | Обязательный | Описание | Пример значения |
---|---|---|---|---|
--date |
YYYY-MM-DD |
Да | Дата отправления | 2024-12-31 |
-a , --api-key |
строка | Да | API-ключ Яндекс.Расписаний | your_api_key_123 |
-s , --from |
строка | Да | Город отправления | moscow |
-d , --to |
строка | Да | Город назначения | kazan |
-m , --max-transfers |
целое число | Нет | Максимальное число пересадок (по умолчанию 1) | 2 |
-h , --help |
- | Нет | Показать справку | - |
./route-finder --date=2025-12-31 -s moscow -d kazan -m 2
route-finder.exe --date=2025-04-30 -s saint-petersburg -d pekin -m 5