🚀 Agrotech — Цифровая платформа управления агропредприятием
Комплексное решение для управления складом, полями, агрооперациями, техникой, экономикой и аналитикой сельскохозяйственного предприятия.
📌 Навигация
| Раздел | Описание |
|---|---|
| 🎯 Demo Guide | Credentials, startup commands, 7-min та 20-min walkthrough |
| 📡 API Reference | Полный справочник по API эндпоинтам |
| 📐 Архитектура | Обзор архитектуры проекта (Clean Architecture, CQRS) |
| 🚀 Деплой | Руководство по развёртыванию (Docker Compose, TLS) |
| 🛠️ Разработка | Руководство разработчика (локальный запуск, тесты) |
✨ Ключевые возможности
📦 Склад
Управление складами и товарами: приход, расход, перемещение между складами, инвентаризация, партийный учёт, остатки и история движений.
🌾 Поля
Карта полей с площадью и кадастровыми данными, учёт текущей культуры, история культур, урожайность, планирование севооборота.
⚙️ Агрооперации
Посев, удобрение, СЗР, обработка, уборка. Привязка ресурсов и техники к операциям. Автоматическое списание ресурсов со склада при завершении операции.
🚜 Техника
Управление парком техники, журнал наработки, учёт заправок, статусы (активна / в ремонте / списана), сводка по всему парку.
💰 Экономика
Учёт затрат по категориям с привязкой к полям и агрооперациям.
📊 Аналитика
Сводный Dashboard, расход ресурсов в разрезе периодов и полей, эффективность полей.
🛠️ Технологический стек
| Слой | Технологии |
|---|---|
| Backend | .NET 8, ASP.NET Core Web API, EF Core 8, PostgreSQL 16, MediatR, FluentValidation, Serilog, JWT, xUnit |
| Frontend | React 18, TypeScript, Vite, Ant Design 5, Zustand, Recharts, Leaflet |
| Инфраструктура | Docker, Docker Compose, GitHub Actions, Testcontainers |
🚀 Быстрый старт
Вариант A — Docker Compose (рекомендуется)
git clone https://github.com/barach6662001-bit/AgroPlatform.git
cd AgroPlatform
docker-compose up --build -d
# Frontend: http://localhost:3000
# API: http://localhost:8080
# Swagger: http://localhost:8080/swagger
Примечание: Frontend запускается на порту 3000. API-запросы (
/api/*) автоматически проксируются через Nginx к бэкенду (api:8080) внутри Docker-сети.
Вариант B — Локальный .NET + Docker PostgreSQL
# 1. Поднять только PostgreSQL
docker-compose up -d postgres
# 2. Применить миграции
dotnet ef database update -p src/AgroPlatform.Infrastructure -s src/AgroPlatform.Api
# 3. Запустить API
dotnet run --project src/AgroPlatform.Api
# API: http://localhost:5224
# Swagger: http://localhost:5224/swagger
Вариант C — Фронтенд (отдельно)
cd frontend
npm install
npm run dev
# Фронтенд: http://localhost:3000
Подробнее о локальной разработке — в разделе 🛠️ Разработка.
🔐 Аутентификация в Swagger
POST /api/auth/register— зарегистрироватьсяPOST /api/auth/login— получить JWT токен- Нажать Authorize 🔒 → вставить токен (без
Bearer) - Добавить заголовок
X-Tenant-Id: <uuid>к запросам
📄 Лицензия
MIT — см. файл LICENSE.