- Update Wallet Service: balance checks (1 DAARION for create, 0.01 for usage) - Update DAOFactory Service: use new balance checks - Add DB migration: teams type field and city_links table - Add DAARION.city seed data - Create teams API routes with balance validation - Add DAARION.city remote repository - Add sync scripts and documentation
180 lines
7.0 KiB
Markdown
180 lines
7.0 KiB
Markdown
# План реалізації: 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
|
||
|