Перейти к содержанию

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

🚀 Быстрый старт

Для разработчиков бэкенда

  1. Начните с Архитектуры
  2. Изучите FuelProcessing.Core
  3. Разберитесь с FuelProcessing.Data (TBD)

Для разработчиков фронтенда/интеграций

  1. Изучите FuelProcessing.Web
  2. Ознакомьтесь с системой авторизации

Для интеграторов API

  1. Читайте Внешние API интеграции
  2. Изучите интерфейс IApiService
  3. Разберите пример конкретного API клиента

📝 Легенда статусов

  • ✅ Документация завершена
  • 🔄 В работе
  • 📋 Запланировано
  • ❌ Не применимо

Последнее обновление: 2026-01-05 Задача: fuel-780