Skip to the content.

🎯 AgroPlatform — Demo Guide

Цей документ описує повний demo-flow продукту для показу інвесторам, партнерам або клієнтам. Платформа містить готові demo-дані, які seed-яться автоматично при першому запуску.


📋 Зміст


🔑 Credentials та Startup

Запуск

# Варіант A — Docker Compose (рекомендується, одна команда)
git clone https://github.com/barach6662001-bit/AgroPlatform.git
cd AgroPlatform
docker-compose up --build -d

# Перевірити що все запустилось
docker-compose ps
# Дочекатись "healthy" у колонці Status для всіх сервісів (~60 сек)
Сервіс URL
Frontend http://localhost:3000
API http://localhost:8080
Swagger http://localhost:8080/swagger

Demo-дані seed-яться автоматично один раз при першому запуску (AUTO_MIGRATE=true). Повторний запуск контейнерів не дублює дані.

Demo-облікові дані

Поле Значення
Email demo@agro.local
Пароль DemoPass1
Tenant ID aaaaaaaa-0000-0000-0000-000000000001
Tenant Агро-Демо ТОВ

Додаткові облікові записи (однотенантні, вже в системі):

Email Пароль Роль
demo@agro.local DemoPass1 Administrator
agro@agro.local AgroPass1 Agronomist
manager@agro.local ManagerPass1 Manager

На сторінці входу є кнопка «Увійти як Demo» для одноклікового входу.


📊 Що є в demo-середовищі

Після автоматичного seed база даних містить реалістичний dataset агропідприємства «Агро-Демо ТОВ»:

Поля (7 полів, 490.5 га)

Поле Площа Культура Статус
Захід-1 120.0 га Пшениця озима Зібрано
Схід-2 85.0 га Соняшник В процесі
Північ-3 95.0 га Кукурудза Зібрано
Південь-4 60.0 га Ріпак Зібрано
Центр-5 70.0 га Ячмінь Зібрано
Схід-2б 35.0 га Соняшник (озимий) Посів
Пар-7 25.5 га Пар (підготовка) В обробці

Склади (3 склади)

Склад Тип Залишки
Головний склад МТС Матеріальний Насіння пшениці 4 500 кг, соняшника 1 200 кг, кукурудзи 2 000 кг
Паливно-мастильний ПММ Дизпаливо 10 800 л
Агрохімічний Хімія Гербіцид 320 л, Добриво 17 000 кг, Фунгіцид 300 л

Зерносховища (2 об’єкти)

Зерносховище Тип Ємність Партії зерна
Зерносховище Захід Flat 500 т Пшениця озима: 180 т (від 255 т після продажів)
Зерносховище Схід Elevator 800 т Соняшник: 106.4 т; Кукурудза: 250 т (від 440 т)

Техніка (5 одиниць)

Техніка Тип Статус
Трактор John Deere 8R 310 Трактор Активний
Комбайн Claas Lexion 770 Комбайн Активний
Обприскувач Amazone UX 5200 Обприскувач Активний
Сівалка Horsch Pronto 9 DC Сівалка Активна
КамАЗ 45143 (зерновоз) Вантажівка На ремонті

Агрооперації (7 операцій)

Операція Поле Статус
Збирання пшениці Захід-1 Завершено
Збирання соняшника Схід-2 В процесі
Збирання кукурудзи Північ-3 Завершено
Посів пшениці Захід-1 Завершено
Посів кукурудзи Північ-3 Завершено
Захист соняшника (ЗЗР) Схід-2 Завершено
Підживлення добривами Захід-1 Завершено

Економіка

Персонал (4 співробітники)

Петро Харченко (Тракторист), Іван Бойко (Комбайнер), Микола Кравець (Агроном-захисник), Тетяна Бондар (Комірник) — з журналами відпрацьованого часу та виплатами зарплати.

Паливо

2 цистерни (дизель 10 800/20 000 л, бензин 850/3 000 л), 4 заправки техніки.

Аудит (4 записи)

Зміни статусу операцій, техніки, продажів та витрат — готові для демонстрації Audit Log.


⚡ 7-хвилинний Walkthrough (Ключовий Vertical Slice)

Ціль: показати наскрізний agricultural cycle від поля до продажу за 7 хвилин.

Аудиторія: інвестори / C-level, що хочуть швидко побачити цінність продукту.

0:00 — Вхід у систему (30 с)

  1. Відкрити http://localhost:3000
  2. Натиснути кнопку «Увійти як Demo» або вввести:
    • Email: demo@agro.local
    • Password: DemoPass1
  3. Звернути увагу: система одразу відкриває Dashboard з даними.

0:30 — Dashboard (1 хв)

Показати на Dashboard:

1:30 — Поля (1 хв 30 с)

  1. Перейти до Поля в меню.
  2. Показати список 7 полів із площею та культурою.
  3. Відкрити Захід-1 (120 га, пшениця):
    • Вкладка Посів — записи про висів 3 500 кг насіння.
    • Вкладка Збирання — врожайність та дата збирання.
    • Вкладка Витрати — загальна сума витрат по полю.

3:00 — Агрооперації (1 хв)

  1. Перейти до Операції.
  2. Показати список операцій із фільтром за статусом.
  3. Відкрити операцію «Збирання пшениці — Захід-1»:
    • Прив’язана техніка (Комбайн Claas Lexion 770, 14 год).
    • Використані ресурси (дизель, запчастини).
    • Статус: Завершено.

4:00 — Зерносховище (1 хв)

  1. Перейти до Зерносховище в меню.
  2. Показати 3 партії зерна (пшениця 180 т, соняшник 106.4 т, кукурудза 250 т).
  3. Натиснути «Рух» на партії пшениці — видно надходження 255 т та продаж 75 т.
  4. Підкреслити: автоматична прив’язка до поля, де вирощено зерно.

5:00 — Економіка та P&L (1 хв)

  1. Перейти до Економіка → Витрати.
  2. Показати 12 записів витрат по категоріях (насіння, добрива, паливо, тощо).
  3. Перейти на Економіка → P&L по полях.
  4. Показати: Захід-1 — витрати ~558 000 UAH, виручка ~1 620 000 UAH → прибуток.
  5. Перейти на Економіка → Бюджет — план vs факт по категоріях.

6:00 — Аудит та Права доступу (1 хв)

  1. Перейти до Адмін → Аудит-лог.
  2. Показати записи: завершення операції збирання, переведення КамАЗа на ремонт, запис витрат.
  3. Перейти до Адмін → Права доступу.
  4. Показати рольову матрицю (Administrator / Agronomist / Manager) з можливістю налаштування.

🔍 20-хвилинний Walkthrough (Повний Огляд)

Ціль: детально показати всі модулі і можливості платформи.

Аудиторія: технічні директори, агрономи, потенційні клієнти, що хочуть повний product tour.

0:00–2:00 — Вхід та Dashboard

  1. Відкрити http://localhost:3000 → кнопка «Увійти як Demo».
  2. Dashboard — оглядовий екран:
    • 4 KPI-карточки: полів 7 (490.5 га), зерна в сховищах 536.4 т, доходи сезону ~5.38 млн UAH, активних операцій 1.
    • Секція «Активні операції» — збирання соняшника (Схід-2, в процесі).
    • Секція «Склади» — залишки по ключових товарах.
    • Дзвоник сповіщень — 2 непрочитані (паливо, збирання).

2:00–5:00 — Модуль Полів

  1. Поля → Список — 7 полів, сортування/фільтр по культурі.
  2. Відкрити Захід-1 (120 га):
    • Вкладка Зони — карта полів (Leaflet, MapTiler).
    • Вкладка Посів — деталі сівби.
    • Вкладка Збирання — врожайність 4.25 т/га.
    • Вкладка Добрива — план і факт внесення.
    • Вкладка ЗЗР — обробки, використані препарати.
    • Вкладка Аналіз ґрунту — NPK показники (якщо є дані).
    • Вкладка Інспекції — записи обходів поля.
  3. Поля → Оренда — список орендованих ділянок.
  4. Поля → Сівозміна — AI Advisor рекомендує культуру на наступний сезон.

5:00–7:00 — Модуль Складів

  1. Склади — список 3 складів із локацією.
  2. Склади → Товари — 7 позицій (насіння, добрива, ЗЗР, паливо) з кодами та цінами.
  3. Склади → Рухи — всі 10 записів (надходження та видачі).
  4. Показати фільтри: по складу, по товару, по типу руху, за датою.
  5. Натиснути «Прихід» — показати форму додавання надходження (не зберігати, просто показати UI).

7:00–9:00 — Зерносховище

  1. Зерносховище — список 3 зернових партій:
    • Пшениця озима: 180 т / 500 т (Зерносховище Захід)
    • Соняшник: 106.4 т (Зерносховище Схід)
    • Кукурудза: 250 т / 800 т (Зерносховище Схід)
  2. Натиснути «Рух» для партії кукурудзи:
    • Показати надходження 440 т та продаж 190 т.
  3. Натиснути «Відвантажити» — форма продажу/відвантаження зерна (не зберігати).
  4. Натиснути «Прийняти зерно» — форма нової партії (показати поля: зерносховище, тип зерна, вологість, ціна за тонну).

9:00–11:00 — Агрооперації (Lifecycle)

  1. Операції — список 7 операцій, різні статуси.
  2. Відкрити «Збирання пшениці — Захід-1» (завершено):
    • Терміни: плановий початок/кінець та фактичний.
    • Прив’язана техніка: Комбайн Claas Lexion 770, 14 год роботи, 490 л дизелю.
    • Ресурси: деталі списання зі складу.
  3. Відкрити «Збирання соняшника — Схід-2» (в процесі):
    • Показати можливість завершення операції.
  4. Кнопка «Нова операція» — показати форму: поле, тип, ресурси, техніка (не зберігати).

11:00–13:00 — Техніка

  1. Техніка — список 5 одиниць із статусами (4 активних, 1 на ремонті).
  2. Відкрити John Deere 8R 310:
    • Загальні дані: марка, модель, рік, наробіток мотогодин.
    • Журнал роботи: 4 записи (сівба, збирання).
    • Журнал заправок: 2 записи.
  3. Відкрити КамАЗ 45143 — показати статус «На ремонті», записи обслуговування.
  4. Техніка → Обслуговування — записи ТО із датами та вартістю.
  5. Fleet (карта) — показати карту з GPS-позиціями техніки в реальному часі (за наявності телематики).

13:00–15:30 — Економіка та Аналітика

  1. Економіка → Витрати — 12 записів:
    • Категорії: Насіння (308 838 UAH), Добрива (232 538 UAH), ЗЗР (17 227 UAH), Паливо (192 400 UAH), Техніка (40 500 UAH), Зарплата (95 000 UAH), Оренда (182 500 UAH).
    • Показати фільтр по категорії та по полю.
    • Показати CSV-експорт.
  2. Економіка → Аналітика — графіки витрат у динаміці.
  3. Економіка → P&L по полях — прибутковість кожного поля.
  4. Економіка → Бюджет — план (3 135 000 UAH) vs факт по 7 категоріях.
  5. Економіка → Маржинальність — маржа по культурах.
  6. Аналітика → Ефективність полів — ранжування полів по прибутку/га.
  7. Аналітика → Ресурси — витрата ресурсів по датах та полях.

15:30–17:00 — Продажі

  1. Продажі — список 5 угод (~5.38 млн UAH):
    • Kernel Holding: пшениця 150 т × 7 200 = 1 080 000 UAH.
    • МХП: ячмінь 200 т × 5 500 = 1 100 000 UAH.
    • АДМ Україна: кукурудза 190 т × 5 800 = 1 102 000 UAH.
    • Bunge Ukraine: ріпак 80 т × 19 500 = 1 560 000 UAH.
    • Kernel Holding: пшениця 75 т × 7 200 = 540 000 UAH (другий транш).
  2. Продажі → Аналітика — графік виручки у розрізі культур та покупців.

17:00–18:30 — HR (Персонал)

  1. HR → Співробітники — 4 активних співробітники з посадами та відділами.
  2. Відкрити Петро Харченко (Тракторист, 180 UAH/год):
    • Журнал відпрацьованого часу: 2 записи (сівба, підготовка ґрунту).
  3. HR → Журнал робіт — 4 записи з прив’язкою до полів і операцій.
  4. HR → Зарплата — 5 виплат: 4 оклади серпня (~84 100 UAH) + 1 аванс Харченку.

18:30–19:30 — Паливо

  1. Паливо — 2 цистерни:
    • Дизель: 10 800 / 20 000 л (54% заповнена).
    • Бензин: 850 / 3 000 л (28% заповнена).
  2. Показати 4 транзакції: надходження 15 000 л та 3 видачі техніці.
  3. Показати сповіщення «Низький залишок» — інтегроване з Notification Center.

19:30–20:00 — Адмін: Права та Аудит

  1. Адмін → Права доступу:
    • Показати рольову матрицю для ролі Administrator (усі права).
    • Перемкнути на роль Agronomist — обмежені права на Економіку та HR.
    • Показати можливість fine-grained налаштування (canRead/canCreate/canUpdate/canDelete).
  2. Адмін → Аудит-лог — 4 записи змін:
    • Продаж пшениці створено (Kernel Holding, 1 080 000 UAH).
    • Операція збирання завершена (статус InProgress → Completed).
    • КамАЗ переведено на ремонт (Active → UnderRepair).
    • Витрата палива записана (130 000 UAH).
  3. Налаштування → Користувачі — 3 облікові записи в одному тенанті.

✅ Сценарії, що готові до демонстрації

# Сценарій Статус Модуль
1 Перегляд списку полів із культурами та площею ✅ Ready Поля
2 Картка поля: посів, збирання, добрива, ЗЗР ✅ Ready Поля
3 Перегляд залишків складу та рухів товарів ✅ Ready Склади
4 Перегляд зернових партій та їх рухів ✅ Ready Зерносховище
5 Відвантаження/прийом зерна (форма) ✅ Ready Зерносховище
6 Перегляд та завершення агроопераціі ✅ Ready Операції
7 Прив’язка техніки та ресурсів до операції ✅ Ready Операції
8 Парк техніки: картка, наробіток, заправки ✅ Ready Техніка
9 Облік витрат по категоріях та полях ✅ Ready Економіка
10 P&L по полях (доходи - витрати) ✅ Ready Економіка
11 Бюджет: план vs факт ✅ Ready Економіка
12 Аналітика продажів по культурах ✅ Ready Продажі
13 HR: персонал, журнал робіт, зарплата ✅ Ready HR
14 Паливний облік: цистерни, транзакції ✅ Ready Паливо
15 Рольова матриця прав доступу ✅ Ready Адмін
16 Аудит-лог змін сутностей ✅ Ready Адмін
17 Dashboard KPI та графіки ✅ Ready Dashboard
18 Сповіщення (Notification Center) ✅ Ready Notifications
19 Планування сівозміни (AI Advisor) ✅ Ready Поля
20 CSV-експорт витрат та продажів ✅ Ready Економіка

💡 Поради для демонстратора


🔗 Пов’язані документи

Документ Опис
README.md Головна сторінка проекту
docs/architecture.md Архітектура (Clean Architecture, CQRS)
docs/auth.md Аутентифікація та авторизація
docs/tenancy.md Мультиорендність
docs/api.md Довідник API
docs/deployment.md Деплой у продакшен