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

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