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

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

Этот раздел поможет вам быстро начать работу с платформой FuelProcessing.

Для разработчиков

Требования

  • .NET 8.0 SDK или новее
  • PostgreSQL 14+ с базой данных fuelprocessing
  • RabbitMQ 3.12+ (для фоновых сервисов)
  • Node.js 18+ (для фронтенда, если требуется)

Локальный запуск

# 1. Клонирование репозитория
git clone https://github.com/fuel-processing/fuel-processing.git
cd fuel-processing

# 2. Настройка connection string
cp FuelProcessing.Web/appsettings.Development.json.example \
   FuelProcessing.Web/appsettings.Development.json
# Отредактируйте ConnectionStrings:DefaultConnection

# 3. Восстановление зависимостей
dotnet restore

# 4. Применение миграций
cd FuelProcessing.Web
dotnet ef database update

# 5. Запуск
dotnet run

Приложение будет доступно по адресу: https://localhost:5001

Запуск фоновых сервисов

# TransactionHandler (в отдельном терминале)
cd FuelProcessing.TransactionHandler
dotnet run

# ReportGenerationHandler (в отдельном терминале)
cd FuelProcessing.ReportGenerationHandler
dotnet run

Запуск ClientApi

cd FuelProcessing.ClientApi
dotnet run

API будет доступен по адресу: https://localhost:5002

Swagger: https://localhost:5002/swagger

Для DevOps

Docker Compose

# Запуск всех сервисов
docker-compose up -d

# Просмотр логов
docker-compose logs -f web

# Остановка
docker-compose down

Переменные окружения

Переменная Описание По умолчанию
ASPNETCORE_ENVIRONMENT Окружение Production
ConnectionStrings__DefaultConnection Connection string
RabbitMQ__Host Хост RabbitMQ localhost
RabbitMQ__Port Порт RabbitMQ 5672
RabbitMQ__Username Пользователь RabbitMQ guest
RabbitMQ__Password Пароль RabbitMQ guest

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

Получение токена

curl -X POST https://api.example.com/api/v2/account/authuser \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "YourPassword123"
  }'

Пример запроса

curl -X GET https://api.example.com/api/v2/card/cards \
  -H "Authorization: Bearer YOUR_TOKEN"

Для партнёров (интеграция)

Регистрация

Для получения доступа к ClientApi необходимо:

  1. Связаться с поддержкой: support@fuel-processing.example.com
  2. Предоставить данные компании
  3. Получить API ключи

Базовый URL

Production: https://api.example.com
Sandbox:    https://sandbox-api.example.com

Следующие шаги

Troubleshooting

Ошибка подключения к БД

# Проверьте статус PostgreSQL
sudo systemctl status postgresql

# Проверьте подключение
psql -h localhost -U fuelprocessing -d fuelprocessing

Ошибка подключения к RabbitMQ

# Проверьте статус RabbitMQ
sudo systemctl status rabbitmq-server

# Проверьте очередь
rabbitmqctl list_queues

Миграции не применяются

# Удалите и создайте БД заново
cd FuelProcessing.Web
dotnet ef database drop
dotnet ef database update