Илья Минченко
Все проекты

flight-az

Радар воздушных судов в реальном времени

Роль
Fullstack-разработчик
Период
пет-проект
Ссылки

Карта воздушного движения: пользователь задаёт точку и радиус, приложение раз в секунду подтягивает борта из FlightRadar24 и рисует их на карте вместе с треками, курсом и высотой.

Помимо позиции, для каждого борта считается дальность и азимут от выбранной точки — по формуле гаверсинуса и расчёту пеленга, без внешних геобиблиотек. Изначально проект вырос из задачи «что сейчас летит надо мной».

Что сделано

  • Express-прокси к FlightRadar24: клиент не ходит во внешний API напрямую и не упирается в CORS и лимиты.
  • Собственные расчёты дальности (гаверсинус) и азимута вместо геобиблиотеки.
  • Маркеры, попапы и треки на Mapbox GL: слои создаются и снимаются по жизненному циклу борта, без утечек и наложения источников.
  • Самоперепланирующийся цикл опроса с корректной остановкой при смене точки — иначе таймеры копятся и запросы идут стопкой.
  • Docker Compose на клиент и сервер, деплой через GitHub Actions.

Стек

  • React
  • Mapbox GL
  • Node.js / Express
  • Docker
  • GitHub Actions