feat: add MicroDAO balance checks and DAARION.city integration
- 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
This commit is contained in:
179
IMPLEMENTATION_PLAN.md
Normal file
179
IMPLEMENTATION_PLAN.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# План реалізації: 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
|
||||
|
||||
Reference in New Issue
Block a user