УТВЕРЖДАЮ
Генеральный директор
ООО «ФАЙНАПП»
_____________________
В.Д. Изотов
г. Тюмень «01» июня 2026г.
М.П. (при наличии)
FineApp — мобильная платформа для автомобилистов, объединяющая в одном приложении сервисы проверки и оплаты автомобильных штрафов, парковок и платных дорог, работу с ОСАГО, автомобильными документами, отчётами, услугами помощи на дороге и другими цифровыми сервисами для водителей.
Платформа построена на современной кроссплатформенной архитектуре и сочетает высокопроизводительный backend, мобильные приложения для iOS и Android, надёжное хранение данных, фоновые процессы, мониторинг и инструменты аналитики.
Backend-разработка
Серверная часть FineApp реализована на Python с использованием FastAPI и асинхронного подхода к обработке запросов.
SQLAlchemy используется в качестве ORM для взаимодействия с базой данных, Pydantic обеспечивает типизацию и валидацию входящих и исходящих данных, а Alembic — управление миграциями структуры базы данных.
Асинхронный стек на базе AsyncPG, Uvicorn и фоновых задач позволяет эффективно обрабатывать большое количество операций и интеграционных запросов.
Мобильная разработка
Мобильное приложение FineApp разработано на Flutter — современном фреймворке Google для создания нативных приложений под iOS и Android из единой кодовой базы.
Использование Dart и Flutter позволяет реализовывать единый пользовательский опыт на разных платформах, сохраняя при этом возможность интеграции с нативными возможностями операционных систем.
Мобильная архитектура ориентирована на модульность, масштабируемость и независимое развитие отдельных сервисов приложения.
Управление состоянием и архитектура приложения
BLoC используется для управления состоянием приложения и разделения бизнес-логики и пользовательского интерфейса.
Для взаимодействия с backend применяется Dio — HTTP-клиент с поддержкой интерсепторов, обработки ошибок и централизованного управления сетевыми запросами.
AutoRoute отвечает за навигацию между экранами и построение сложных пользовательских сценариев.
Для отдельных сервисов и платёжных сценариев используется WebView, обеспечивающий взаимодействие приложения с внешними веб-интерфейсами.
Хранение и обработка данных
Основное хранилище серверных данных построено на PostgreSQL — надёжной реляционной СУБД, предназначенной для работы с транзакционными и структурированными данными.
Redis используется для кэширования и организации очередей задач, позволяя снизить нагрузку на основную базу данных и ускорить выполнение часто используемых операций.
На стороне мобильного приложения используются Drift и Shared Preferences. Drift обеспечивает работу с локальной структурированной базой данных, а Shared Preferences — хранение небольших объёмов локальных настроек и состояния приложения.
Такой подход позволяет приложению сохранять необходимые данные локально и обеспечивать более устойчивую работу пользовательских сценариев.
Фоновые задачи и асинхронная обработка
Для выполнения длительных и ресурсоёмких операций используются фоновые задачи.
ARQ совместно с Redis обеспечивает постановку и выполнение задач вне основного HTTP-запроса. Это позволяет не блокировать пользовательские запросы операциями, которые требуют дополнительного времени на обработку.
Асинхронная архитектура применяется для сетевых операций, интеграций с внешними сервисами и других процессов, где критична эффективная работа с большим количеством одновременных операций.
Контейнеризация и инфраструктура
Backend-компоненты работают в контейнеризированной инфраструктуре Docker.
Docker Swarm используется для оркестрации контейнеров и управления сервисами, обеспечивая воспроизводимость окружений и возможность масштабирования отдельных компонентов системы.
Gunicorn и Uvicorn используются для запуска серверных приложений и эффективной обработки входящих запросов.
Контейнерный подход позволяет независимо разворачивать и обновлять отдельные компоненты платформы.
Мониторинг и наблюдаемость
Для контроля состояния backend-инфраструктуры используется Prometheus, собирающий технические метрики работы сервисов.
OpenTelemetry применяется для трассировки и наблюдаемости распределённых процессов, помогая анализировать выполнение запросов и взаимодействие между компонентами системы.
Инструменты мониторинга позволяют своевременно выявлять проблемы производительности и контролировать стабильность работы платформы.
Карты и геолокационные сервисы
Для отображения картографической информации в мобильном приложении используется flutter_osm_plugin.
Картографический функционал применяется в сервисах, связанных с парковками, геолокацией и другими сценариями, в которых пользователю необходимо работать с объектами на карте.
Архитектура позволяет отображать географические объекты и взаимодействовать с ними непосредственно из мобильного приложения.
Push-уведомления и конфигурация приложения
Firebase используется для работы с push-уведомлениями и удалённой конфигурацией приложения.
Remote Config позволяет изменять отдельные параметры поведения приложения без необходимости выпуска новой версии.
Для поддержки различных мобильных экосистем используются соответствующие механизмы доставки push-уведомлений, включая инфраструктуру Apple.
Аналитика
AppMetrica используется для анализа поведения пользователей внутри приложения.
Система позволяет отслеживать ключевые события, включая взаимодействие с функциональностью приложения, переходы, покупки и другие действия.
Аналитические данные используются для оценки эффективности пользовательских сценариев и дальнейшего развития продукта.
Интеграции и внешние сервисы
FineApp взаимодействует с внешними информационными и коммерческими сервисами через API и специализированные интеграционные механизмы.
Backend выступает единой точкой взаимодействия мобильного приложения с внешними системами, обеспечивая обработку запросов, преобразование данных, валидацию и контроль бизнес-логики.
Такая архитектура позволяет подключать новые сервисы без существенного изменения клиентской части приложения.
Безопасность и надёжность
При проектировании платформы используются механизмы валидации входящих данных, централизованной обработки сетевых ошибок и разделения ответственности между компонентами системы.
Контейнеризация, мониторинг и распределённая трассировка позволяют контролировать состояние инфраструктуры и повышать устойчивость сервисов.