Files
microdao-daarion/IMPLEMENTATION_PLAN.md
Apple 582ab75b03 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
2025-11-15 08:56:14 -08:00

180 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# План реалізації: 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