Forpost — мобильная платформа для отслеживания и управления инцидентами с интерактивной картой, системой верификации сообществом и push-уведомлениями. В этом кейсе важен не только интерфейс, но и полный цикл разработки: от модели данных и API до поведения приложения в реальном времени.
Контекст
Продукт предназначен для создания, отслеживания и подтверждения инцидентов с привязкой к карте. Пользователь должен быстро увидеть ситуацию вокруг себя, открыть детали, добавить материалы и получить уведомление, если рядом произошло что-то важное. На уровне платформы проект покрывает iOS и Android и собран как связка мобильного приложения и серверного API.
Архитектура
Клиентская часть построена на Flutter с BLoC, go_router, Dio и Yandex MapKit. Внутри есть аутентификация, работа с геолокацией, создание инцидентов, прикрепление медиа, интеграция с сервисами карты и валидация форм.
Серверная часть реализована на Dart Frog, Drift и SQLite. API покрывает аутентификацию, хранение инцидентов, файлов и голосов верификации, а push-уведомления отправляются через интеграцию с Firebase пользователям в радиусе события.
Что важно в реализации
Основная сложность здесь в связке карт, геолокации, медиа и статусной логики. Инциденты создаются рядом с текущим положением пользователя, проходят жизненный цикл, подтверждаются сообществом и автоматически истекают. Отдельный слой работы уходит в устойчивость и безопасность: JWT-аутентификация, обновление токенов, защищенное локальное хранение, ограничение частоты запросов, защита от повторных голосов и аккуратная обработка ошибок на обоих концах.