Технологический стек FineApp

УТВЕРЖДАЮ

Генеральный директор

ООО «ФАЙНАПП»

_____________________ В.Д. Изотов

г. Тюмень «01» июня 2026г.

М.П. (при наличии)

Технологический стек FineApp

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 выступает единой точкой взаимодействия мобильного приложения с внешними системами, обеспечивая обработку запросов, преобразование данных, валидацию и контроль бизнес-логики.

Такая архитектура позволяет подключать новые сервисы без существенного изменения клиентской части приложения.

Безопасность и надёжность

При проектировании платформы используются механизмы валидации входящих данных, централизованной обработки сетевых ошибок и разделения ответственности между компонентами системы.

Контейнеризация, мониторинг и распределённая трассировка позволяют контролировать состояние инфраструктуры и повышать устойчивость сервисов.