FuelProcessing - Документация проекта¶
Обзор¶
FuelProcessing — это платформа для управления топливными картами, договорами и транзакциями. Проект построен по архитектуре N-уровневого приложения с разделением на доменный слой, доступ к данным, веб-интерфейс и API сервисы.
📚 Карта документации¶
1. Архитектура проекта¶
Общая архитектура, модули, зависимости и паттерны проектирования.
2. Модуль FuelProcessing.Core¶
Доменная модель и бизнес-логика платформы.
3. Модуль FuelProcessing.Web¶
ASP.NET Core MVC веб-интерфейс.
4. Внешние API интеграции¶
Интеграция с 11 топливными сервисами (ВИНКами).
5. Система статусов карт¶
Бизнес-логика управления статусами блокировки карт.
🗂️ Тематические кластеры¶
Кластер 1: Доменный слой (Domain Layer)¶
Сущности предметной области и бизнес-логика
| Модуль | Описание | Статус |
|---|---|---|
FuelProcessing.Core |
Доменные модели, enum'ы, интерфейсы | ✅ |
CardStatusDocumentation |
Система статусов карт | ✅ |
Ключевые сущности:
- Card — топливная карта
- Company — компания-участник
- DirectContract — прямой договор
- FinanceTransaction — финансовая транзакция
- GasStation — заправочная станция
- Limit — лимиты на расход топлива
Кластер 2: Слой доступа к данным (Data Access Layer)¶
EF Core, репозитории, миграции
| Модуль | Описание | Статус |
|---|---|---|
FuelProcessing.Data |
DbContext, репозитории, сервисы данных | 🔄 |
Компоненты:
- DataContext — 80+ DbSets
- BaseRepository<T> — базовый репозиторий
- ApiBaseRepository<T> — репозиторий для API данных
- 19 специализированных репозиториев
- Миграции EF Core
Кластер 3: Веб-интерфейс (Web Interface)¶
MVC приложение для администрирования
| Модуль | Описание | Статус |
|---|---|---|
FuelProcessing.Web |
ASP.NET Core MVC | ✅ |
Ключевые компоненты:
- RoleRightService — система авторизации
- SiteModule — модули сайта (60+ модулей)
- AuthorizeRoleFilter — фильтр прав доступа
- FluentValidation валидаторы
- Telerik UI компоненты
Кластер 4: API сервисы (API Services)¶
REST и клиентские API
| Модуль | Описание | Статус |
|---|---|---|
FuelProcessing.Api |
REST API | 📋 |
FuelProcessing.ClientApi |
Клиентское API | 📋 |
Кластер 5: Внешние интеграции (External Integrations)¶
API клиенты для топливных провайдеров
| Провайдер | Класс | Статус |
|---|---|---|
| Трасса | TrackApiService |
✅ |
| Татнефть | TatneftApiService |
✅ |
| Газпромнефть | GazpromApiService |
✅ |
| Лукойл | LukoilApiService |
✅ |
| Роснефть | RosneftApiService |
✅ |
| Вездеход | VezdehodApiService |
✅ |
| НатКар | NatCarApiService |
✅ |
| Инфорком | InforkomApiService |
✅ |
| АСМАП | SoftEngineeringApiService |
✅ |
| ТаифНК | TaifNKApiService |
✅ |
| Globaltruck | GlobaltruckApiService |
✅ |
Общий интерфейс: IApiService / IApiServiceNight
Координатор: ApiExecutor
Кластер 6: Фоновая обработка (Background Processing)¶
Обработка транзакций и генерация отчётов
| Модуль | Описание | Статус |
|---|---|---|
FuelProcessing.TransactionHandler |
Обработка транзакций | 📋 |
FuelProcessing.ReportGenerationHandler |
Генерация отчётов | 📋 |
🔄 Зависимости между модулями¶
graph TD
Core[ fuel-processing.Core<br/>Доменная модель ]
Data[ fuel-processing.Data<br/>Доступ к данным ]
Web[ fuel-processing.Web<br/>Веб-интерфейс ]
Api[ fuel-processing.Api<br/>REST API ]
ClientApi[ fuel-processing.ClientApi<br/>Клиентское API ]
TxnHandler[ fuel-processing.TransactionHandler<br/>Обработка транзакций ]
ReportHandler[ fuel-processing.ReportGenerationHandler<br/>Генерация отчётов ]
Data --> Core
Web --> Data
Api --> Data
ClientApi --> Data
TxnHandler --> Data
ReportHandler --> Data
Api --> Core
ClientApi --> Core
Web --> Core
TxnHandler --> Api
ReportHandler --> Web
📊 Статистика проекта¶
| Метрика | Значение |
|---|---|
| Модулей в solution | 20+ |
| DbSet в DataContext | 80+ |
| Специализированных репозиториев | 19 |
| API интеграций (ВИНК) | 11 |
| Модулей сайта (SiteModule) | 60+ |
| Статусов блокировки карт | 24 |
🚀 Быстрый старт¶
Для разработчиков бэкенда¶
- Начните с Архитектуры
- Изучите FuelProcessing.Core
- Разберитесь с FuelProcessing.Data (TBD)
Для разработчиков фронтенда/интеграций¶
- Изучите FuelProcessing.Web
- Ознакомьтесь с системой авторизации
Для интеграторов API¶
- Читайте Внешние API интеграции
- Изучите интерфейс
IApiService - Разберите пример конкретного API клиента
📝 Легенда статусов¶
- ✅ Документация завершена
- 🔄 В работе
- 📋 Запланировано
- ❌ Не применимо
Последнее обновление: 2026-01-05 Задача: fuel-780