Grabglide Business — бизнес-часть сервиса Grabglide для малой авиации, приложение для владельцев и менеджеров авиапарка. Позволяет перевозчику управлять загрузкой собственного флота и работать с заявками клиентов.
Главный экран — дашборд с активными заявками на перелёты: менеджер изучает заявки, вносит корректировки, назначает самолёт и при необходимости связывается с клиентом через встроенный чат для уточнения деталей. Интерфейс минималистичный и функциональный: визуальная иерархия смещена в сторону текстового содержания — названий аэропортов, имён клиентов и пилотов, дат и цен, — чтобы подсветить детали и снизить вероятность ошибки. Реализовано для iOS и Android.
Вёл проект на стороне разработки. Мигрировал кодовую базу с JavaScript на TypeScript и обновил приложение со старой версии стека на актуальную. Разработал ~95% экранов бизнес-части: дашборд с активными заявками на перелёты, управление загрузкой авиапарка, обработку заявок клиентов, назначение самолётов и корректировку деталей рейса. Реализовал встроенный чат для связи перевозчика с клиентом, а также логику оценки и мониторинга перевозок. Менторил junior-разработчика. Плотно работал с командами дизайна и бэкенда — совместно прорабатывали контракты API.
Архитектура
Слоистая feature-based структура: экраны, переиспользуемые UI-компоненты и бизнес-логика разнесены по слоям. Типобезопасность за счёт полной миграции на TypeScript — контракты API и модели данных строго типизированы, что снизило количество рантайм-ошибок. Централизованный стейт-менеджмент (Redux Toolkit) для заявок и состояний дашборда. Real-time чат на WebSocket. API-контракты согласовывались с бэкендом заранее и фиксировались в типах.