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

Полноценная микросервисная архитектура для службы такси с 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 для защиты от брут-форс атак

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

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

  • Разработка микросервисной архитектуры
  • Создание API Gateway на Ocelot
  • Реализация реального времени через SignalR
  • Интеграция Apache Kafka для коммуникации
  • Разработка WinForms приложения для диспетчеров
  • Создание веб-интерфейса на PHP
  • Разработка Telegram-бота для водителей
  • Оптимизация производительности и надежности
  • Обеспечение безопасности данных
  • Внедрение CI/CD и контейнеризации

Достижения

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

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

ASP.NET Core Docker .NET PHP PostgreSQL C# REST API Apache Kafka Dapper SignalR FluentValidation AutoMapper Liquibase Telegram Bot API WinForms

Особенности проекта

Микросервисная архитектура API Gateway (Ocelot) Интеграция Telegram Bot API Валидация данных (FluentValidation) Маппинг объектов (AutoMapper) Управление миграциями БД (Liquibase) Развертывание на Ubuntu Server Мониторинг и логирование WebSocket соединения

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

Клиент:

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

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

11.03.2022

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

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

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

Оставьте заявку и получите бесплатную консультацию специалиста