АРМ Диспетчер такси "Престиж"

Полноценная микросервисная архитектура для службы такси с Telegram-ботом, веб-интерфейсом и WinForms приложением
АРМ Диспетчер такси "Престиж"

О проекте

Комплексная клиент-серверная система для автоматизации работы такси-службы "Престиж". Проект охватывает полный цикл от разработки архитектуры до сопровождения в production.

🏗️ Архитектурная эволюция:

Начальная архитектура:
- Монолитный Web-API сервер на ASP.NET Core Kestrel
- Единая база данных PostgreSQL
- Прямое взаимодействие клиентов с API

Микросервисная архитектура:
- Разделение на специализированные сервисы (заказы, водители, геолокация, уведомления)
- Apache Kafka для асинхронной межсервисной коммуникации
- API Gateway на Ocelot для маршрутизации и агрегации запросов
- Сервис обнаружения для динамической конфигурации

🔧 Технологический стек серверной части:

База данных и кэширование:
- PostgreSQL с оптимизированными схемами
- Dapper для высокопроизводительных запросов
- Хранимые процедуры для сложной бизнес-логики
- Redis для кэширования часто используемых данных
- Liquibase для управления миграциями базы данных

Коммуникация и реальное время:
- SignalR для WebSocket соединений с клиентами
- Apache Kafka как брокер сообщений между сервисами
- Асинхронная обработка событий системы

Безопасность и валидация:
- Ocelot API Gateway с аутентификацией и авторизацией
- FluentValidation для комплексной валидации запросов
- AutoMapper для безопасного маппинга объектов
- Rate limiting и защита от DDoS атак

Инфраструктура:
- Docker-контейнеризация всех сервисов
- Развертывание на Ubuntu сервере
- GitLab CI/CD для автоматизации сборки и деплоя
- Мониторинг и логирование всех компонентов

👥 Клиентские приложения:

WinForms приложение для диспетчеров:
- Реальный мониторинг заказов и водителей в реальном времени
- Управление распределением заказов
- Геолокация и отслеживание автомобилей
- Система уведомлений и оповещений

Веб-интерфейс на PHP для диспетчеров:
- Адаптивный интерфейс для работы с любого устройства
- Панель управления в реальном времени через WebSocket
- Управление заказами и водителями через браузер
- Статистика и аналитика в виде графиков и дашбордов

Telegram-бот для водителей:
- Прием и выполнение заказов
- Навигация и маршрутизация
- Статистика и отчетность

🎯 Ключевые особенности:

Производительность:
- Обработка 1000+ одновременных подключений
- Response time < 50ms для критических операций
- Автомасштабирование под нагрузку

Надежность:
- 99.9% uptime в production
- Резервное копирование и восстановление
- Отказоустойчивая архитектура

Безопасность:
- Шифрование PII (персональных данных) в базе данных
- JWT-токены для аутентификации с коротким временем жизни
- Хэширование паролей по алгоритму bcrypt
- Валидация и санитизация всех входящих данных
- Rate limiting для защиты от брут-форс атак

Детали реализации

Задачи проекта

  • Разработка современного интерфейса
  • Оптимизация производительности
  • Адаптация под мобильные устройства

Достижения

  • Полная автоматизация работы такси-службы
  • Сокращение времени обработки заказа с 3 минут до 15 секунд
  • Увеличение количества обрабатываемых заказов на 300%
  • Микросервисная архитектура с горизонтальным масштабированием
  • 24/7 мониторинг и автоматическое восстановление
  • Интеграция с Telegram для мобильности водителей
  • Кросс-платформенный веб-интерфейс для диспетчеров

Использованные технологии

ASP.NET Core Microservices Architecture Docker Kubernetes PostgreSQL Dapper Redis Apache Kafka SignalR Ocelot API Gateway Telegram Bot API WinForms PHP JavaScript WebSocket Bootstrap FluentValidation AutoMapper Liquibase GitLab CI/CD Ubuntu Server Monitoring & Logging

Детали проекта

Клиент:

Такси "Престиж" ИП Басманов Е.Д.

Дата завершения:

11.03.2022

Ссылка на проект: taxi-prestige.ru
Категория:

Веб-разработка

Нравится этот проект? Хотите такой же?