182 lines
6.4 KiB
Plaintext
182 lines
6.4 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# MicroDAO MVP - Проєктні нотатки та аналіз\n",
|
||
"\n",
|
||
"Цей ноутбук містить:\n",
|
||
"- Документацію про проєкт\n",
|
||
"- Приклади використання API\n",
|
||
"- Нотатки та ідеї\n",
|
||
"- Аналіз архітектури\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 📋 Інформація про проєкт\n",
|
||
"\n",
|
||
"**Назва:** MicroDAO MVP\n",
|
||
"\n",
|
||
"**Опис:** Приватна мережа ШІ-агентів для малих спільнот (5-50 членів)\n",
|
||
"\n",
|
||
"**Технології:**\n",
|
||
"- Frontend: React 18, TypeScript, Vite, Tailwind CSS\n",
|
||
"- Backend: API Gateway (`https://api.microdao.xyz/v1`)\n",
|
||
"- База даних: PostgreSQL\n",
|
||
"- Message Bus: NATS JetStream\n",
|
||
"- Пошук: Meilisearch\n",
|
||
"- Storage: S3-сумісне сховище\n",
|
||
"- WebSockets для real-time комунікації\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 🗂️ Структура проєкту\n",
|
||
"\n",
|
||
"```\n",
|
||
"MicroDAO 3/\n",
|
||
"├── docs/\n",
|
||
"│ ├── cursor/ # Документація для Cursor AI\n",
|
||
"│ └── microdao_project_notes.ipynb # Цей ноутбук\n",
|
||
"├── src/\n",
|
||
"│ ├── api/ # API клієнти\n",
|
||
"│ ├── components/ # React компоненти\n",
|
||
"│ │ └── onboarding/ # Компоненти онбордингу\n",
|
||
"│ ├── hooks/ # React hooks\n",
|
||
"│ ├── pages/ # Сторінки\n",
|
||
"│ └── types/ # TypeScript типи\n",
|
||
"├── package.json\n",
|
||
"└── vite.config.ts\n",
|
||
"```\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 🔌 Приклади використання API\n",
|
||
"\n",
|
||
"### Базовий API клієнт\n",
|
||
"\n",
|
||
"API Gateway: `https://api.microdao.xyz/v1`\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Приклад використання API (Python)\n",
|
||
"import requests\n",
|
||
"import json\n",
|
||
"\n",
|
||
"API_BASE = \"https://api.microdao.xyz/v1\"\n",
|
||
"\n",
|
||
"# Приклад: Створення команди\n",
|
||
"def create_team(name: str, description: str = None, token: str = None):\n",
|
||
" \"\"\"Створити нову команду (micro-DAO)\"\"\"\n",
|
||
" headers = {\n",
|
||
" \"Authorization\": f\"Bearer {token}\",\n",
|
||
" \"Content-Type\": \"application/json\"\n",
|
||
" }\n",
|
||
" \n",
|
||
" data = {\n",
|
||
" \"name\": name,\n",
|
||
" \"description\": description\n",
|
||
" }\n",
|
||
" \n",
|
||
" response = requests.post(\n",
|
||
" f\"{API_BASE}/teams\",\n",
|
||
" headers=headers,\n",
|
||
" json=data\n",
|
||
" )\n",
|
||
" \n",
|
||
" return response.json()\n",
|
||
"\n",
|
||
"print(\"Функція create_team() готова до використання\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 💡 Нотатки та ідеї\n",
|
||
"\n",
|
||
"### MVP Features:\n",
|
||
"- ✅ Онбординг (6 кроків)\n",
|
||
"- ⏳ Автентифікація (magic-link email)\n",
|
||
"- ⏳ Чат з повідомленнями\n",
|
||
"- ⏳ Публічні канали для гостей\n",
|
||
"- ⏳ Follow-ups (нагадування)\n",
|
||
"- ⏳ Projects & Tasks (Kanban-lite)\n",
|
||
"- ⏳ Приватні агенти\n",
|
||
"- ⏳ Базові налаштування\n",
|
||
"\n",
|
||
"### Out of Scope для MVP:\n",
|
||
"- ❌ E2EE (заглушка)\n",
|
||
"- ❌ Повноцінний Kanban\n",
|
||
"- ❌ Складні налаштування агентів\n",
|
||
"- ❌ Мобільний додаток\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 📅 Історія змін\n",
|
||
"\n",
|
||
"### 2024-11-13\n",
|
||
"- ✅ Створено базову структуру проєкту\n",
|
||
"- ✅ Реалізовано онбординг (6 кроків)\n",
|
||
"- ✅ Налаштовано Git репозиторій\n",
|
||
"- ✅ Встановлено залежності та запущено dev server\n",
|
||
"- ✅ Створено документацію для Cursor (8 файлів)\n",
|
||
"- ✅ Створено Jupyter ноутбук для нотаток\n",
|
||
"\n",
|
||
"---\n",
|
||
"\n",
|
||
"*Оновлюйте цей розділ при важливих змінах у проєкті*\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## 🔗 Корисні посилання\n",
|
||
"\n",
|
||
"- **Документація для Cursor:** `docs/cursor/README.md`\n",
|
||
"- **API документація:** `docs/cursor/03_api_core_snapshot.md`\n",
|
||
"- **UI/UX специфікація:** `docs/cursor/04_ui_ux_onboarding_chat.md`\n",
|
||
"- **Технічні задачі:** `docs/cursor/06_tasks_onboarding_mvp.md`\n",
|
||
"\n",
|
||
"## 📝 Швидкий старт\n",
|
||
"\n",
|
||
"```bash\n",
|
||
"# Встановити залежності\n",
|
||
"npm install\n",
|
||
"\n",
|
||
"# Запустити dev server\n",
|
||
"npm run dev\n",
|
||
"\n",
|
||
"# Відкрити в браузері\n",
|
||
"http://localhost:3000/onboarding\n",
|
||
"```\n"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"language_info": {
|
||
"name": "python"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|