# План реалізації: Console + DAARION.city + Створення MicroDAO ## 📋 Поточний стан проєкту ### ✅ Що вже є: - Базова структура React + TypeScript - Wallet Service (перевірка балансів DAAR/DAARION) - DAOFactory Service (створення DAO) - PDP Service (перевірка політик) - БД міграції (teams, channels, messages) - Onboarding компоненти ### ❌ Що потрібно додати: - Console UI (адмін-панель) - Перевірка стейкінгу (замість балансу) - Таблиця `staking` в БД - Поле `type` в таблиці `teams` (city, platform, community) - DAARION.city як перше MicroDAO (seed дані) - Створення MicroDAO з перевіркою стейкінгу - Admin роль з перевіркою 0.01 DAARION --- ## ❓ Питання для уточнення ### 1. Console / Адмін-панель **Q1.1:** Що таке "console консоль"? - [ ] Окрема сторінка `/console` на сайті DAARION.city? - [ ] Вбудований віджет на існуючій сторінці? - [ ] Окремий піддомен `console.daarion.city`? **Q1.2:** Які функції мають бути в console? - [ ] Створення нового MicroDAO - [ ] Перегляд списку існуючих MicroDAO - [ ] Управління DAARION.city як SuperDAO - [ ] Перегляд міських платформ (GREENFOOD, EnergyUnion) - [ ] Wallet інтерфейс (баланси, стейкінг) - [ ] Інші функції? **Q1.3:** Технічний стек для console? - [ ] React компонент на існуючому сайті DAARION.city? - [ ] Який фреймворк? (Next.js, Vite, інше) - [ ] Чи є вже існуючий код console? --- ### 2. Порог для створення MicroDAO **Q2.1:** Уточнення порогу - В документації: "1 DAAR **або** 0.01 DAARION" - Ти кажеш: "мінімум **1 DAARION у стейкінгу**" **Питання:** - [ ] Правильно: **1 DAARION у стейкінгу** (не просто баланс)? - [ ] Чи можна альтернатива: 1 DAAR у стейкінгу? **Q2.2:** Перевірка стейкінгу - Де зберігається інформація про стейкінг? (таблиця `staking`?) - Як перевіряється стейкінг перед створенням MicroDAO? - Чи потрібна перевірка через Wallet Service або on-chain? --- ### 3. Роль Admin та 0.01 DAARION **Q3.1:** Роль Admin - [ ] Це роль в конкретному MicroDAO? - [ ] Чи це глобальна роль в DAARION.city? **Q3.2:** 0.01 DAARION для Admin - [ ] Це мінімум для отримання ролі Admin? - [ ] Це мінімум для запрошення інших користувачів? - [ ] Це мінімум для постійного використання (maintenance fee)? **Q3.3:** Перевірка перед запрошенням - [ ] Перевіряється баланс або стейкінг? - [ ] Чи потрібна перевірка при кожному запрошенні? --- ### 4. Міські платформи **Q4.1:** Які саме міські платформи вже існують? - [ ] GREENFOOD - [ ] EnergyUnion - [ ] WaterUnion - [ ] Інші? **Q4.2:** Як вони об'єднані? - [ ] Через `city_links` таблицю? - [ ] Чи вони вже створені як MicroDAO типу "platform"? - [ ] Чи потрібно їх створити зараз? **Q4.3:** Відображення в console - [ ] Як окремий розділ "Міські платформи"? - [ ] Чи як частина дерева MicroDAO? --- ### 5. UI для створення MicroDAO **Q5.1:** Форма чи діалог? - [ ] Форма з полями (назва, опис, тип) - [ ] Діалог з агентом (як в onboarding) - [ ] Інше? **Q5.2:** Які поля обов'язкові? - [ ] Назва - [ ] Опис - [ ] Тип (community, guild, lab, personal) - [ ] Інші? --- ## 🎯 Пропозиція плану реалізації ### Фаза 1: Backend Foundation 1. ✅ Додати таблицю `staking` в БД 2. ✅ Додати поле `type` в таблицю `teams` (city, platform, community, guild, lab, personal) 3. ✅ Додати таблицю `city_links` (parent_team_id, child_team_id, relation_type) 4. ✅ Оновити Wallet Service для перевірки стейкінгу 5. ✅ Оновити DAOFactory Service для перевірки стейкінгу (1 DAARION) 6. ✅ Додати seed дані для DAARION.city (type='city', slug='daarion') ### Фаза 2: Console UI 1. ✅ Створити сторінку `/console` 2. ✅ Компонент "Створити MicroDAO" (з перевіркою стейкінгу) 3. ✅ Компонент "Список MicroDAO" (включаючи DAARION.city) 4. ✅ Компонент "Міські платформи" (якщо є) 5. ✅ Компонент "Wallet" (баланси, стейкінг) ### Фаза 3: Створення MicroDAO 1. ✅ API endpoint `POST /api/v1/teams` (з перевіркою стейкінгу) 2. ✅ UI форма/діалог для створення 3. ✅ Автоматичне створення DAO через DAOFactory 4. ✅ Автоматичне призначення ролі Owner ### Фаза 4: Admin роль та запрошення 1. ✅ Перевірка 0.01 DAARION для ролі Admin 2. ✅ API endpoint для запрошення користувачів 3. ✅ Перевірка стейкінгу перед запрошенням --- ## 🚀 Швидкий старт (після відповідей) Після отримання відповідей на питання, я можу: 1. **Створити міграції БД** для: - Таблиця `staking` - Поле `type` в `teams` - Таблиця `city_links` - Seed дані для DAARION.city 2. **Оновити сервіси**: - Wallet Service (перевірка стейкінгу) - DAOFactory Service (перевірка 1 DAARION staked) - PDP Service (політики для стейкінгу) 3. **Створити Console UI**: - Сторінка `/console` - Компоненти для створення MicroDAO - Компоненти для перегляду списку 4. **Інтегрувати все разом** --- ## 📝 Наступні кроки **Зараз:** Відповісти на питання вище **Після відповідей:** Я створю детальний план реалізації та почну розробку --- **Останнє оновлення:** 2024-11-14