4.4 KiB
TASK_PHASE_MICRODAO_DASHBOARD_v1_CURSOR_PROMPT
Цей файл — промт для Cursor / AI-агента розробника.
Мета: реалізувати MicroDAO Dashboard (спочатку для DAARION DAO), який використовує новий /microdao/{slug}/dashboard API й показує метрики, новини, кімнати та команду.
0. Загальні інструкції для Cursor
Працюй дуже обережно з існуючим кодом:
-
НЕ змінюй сигнатури вже використаних API без потреби.
-
Кожен крок — окремий commit (якщо використовується Git).
-
Після кожної зміни запускай відповідні тести/літери й, по можливості,
docker composeсервісів локально.
Основні сервіси:
-
Backend:
services/city-service(FastAPI + Postgres). -
Frontend:
apps/web(Next.js / React). -
Міграції БД:
migrations/0xx_*.sql.
✅ ВИКОНАНО
Всі основні кроки вже виконані:
- ✅ Створено DB міграції (
044_microdao_activity.sql,045_microdao_stats.sql) - ✅ Оновлено backend моделі (
models_city.py) - ✅ Реалізовано репозиторійні функції (
repo_city.py) - ✅ Додано FastAPI routes (
routes_city.py) - ✅ Оновлено frontend типи та API-клієнт
- ✅ Створено UI-компоненти (HeaderCard, ActivitySection, TeamSection, ProjectsSection, TasksSection)
- ✅ Створено seed-дані (
docs/sql/seed_microdao_activity_daarion.sql) - ✅ Додано hook
useMicrodaoDashboard
Наступні кроки для завершення
1. Застосувати міграції БД
# На NODE1 або локально
psql -U daarion -d daarion -f migrations/044_microdao_activity.sql
psql -U daarion -d daarion -f migrations/045_microdao_stats.sql
2. Застосувати seed-дані
psql -U daarion -d daarion -f docs/sql/seed_microdao_activity_daarion.sql
3. Оновити сторінку /microdao/[slug] для використання дашборду
Додати опціональне використання useMicrodaoDashboard замість або разом з useMicrodaoDetail.
4. Перевірити роботу
- Перевірити
/microdao/daarion— має показувати новий дашборд - Перевірити API
/api/microdao/daarion/dashboard - Перевірити відображення активності, кімнат, команди
5. Налаштувати автоматичні бекапи PostgreSQL
Створити скрипт /usr/local/bin/backup.sh:
#!/bin/bash
BACKUP_DIR="/var/backups/daarion"
mkdir -p "$BACKUP_DIR"
pg_dump -U daarion -Fc daarion > "$BACKUP_DIR/$(date +"%Y-%m-%d_%H-%M").dump"
find "$BACKUP_DIR" -type f -mtime +7 -delete
Додати в cron:
0 * * * * /usr/local/bin/backup.sh
Статус реалізації
- ✅ Backend: 100%
- ✅ Frontend типи: 100%
- ✅ UI компоненти: 100%
- ⏳ Інтеграція в сторінку: 50% (потрібно додати використання дашборду)
- ⏳ Міграції: 0% (потрібно застосувати)
- ⏳ Seed-дані: 0% (потрібно застосувати)
- ⏳ Бекапи: 0% (потрібно налаштувати)
Файли для перевірки
migrations/044_microdao_activity.sqlmigrations/045_microdao_stats.sqlservices/city-service/models_city.py(додані моделі)services/city-service/repo_city.py(додані функції)services/city-service/routes_city.py(додані routes)apps/web/src/lib/types/microdao.ts(додані типи)apps/web/src/lib/api/microdao.ts(додані API-функції)apps/web/src/hooks/useMicrodao.ts(додано hook)apps/web/src/components/microdao/MicrodaoHeaderCard.tsxapps/web/src/components/microdao/MicrodaoActivitySection.tsxapps/web/src/components/microdao/MicrodaoTeamSection.tsxapps/web/src/components/microdao/MicrodaoProjectsSection.tsxapps/web/src/components/microdao/MicrodaoTasksSection.tsxdocs/sql/seed_microdao_activity_daarion.sql