ROADMAP.md: 7 phases détaillant la migration vers une plateforme: - Phase 1: Auth locale (password + OAuth Gitea/GitHub) - Phase 2: Abstraction multi-forge (adapter pattern) - Phase 3: Workspace page + navigation projet - Phase 4: Mode standalone (sans forge) - Phase 5: Permissions collaboratives - Phase 6: UI/UX polishing - Phase 7: Infrastructure (DB, tests, CI/CD) WORKLOAD.md: v2.1 → v2.2 (Share/Publish/Favorites/Library), cible v3.0 ajoutée
63 lines
2.8 KiB
Markdown
63 lines
2.8 KiB
Markdown
# WORKLOAD — FlowDeck Notion Clone
|
||
|
||
> **Début**: 2026-07-08 | **Version**: v2.2.0 | **Statut**: EN COURS 🔄
|
||
> **Cible v3.0**: Multi-User, Multi-Forge (Gitea/GitHub), Standalone
|
||
|
||
## Avancement Global
|
||
|
||
| Version | Description | Statut | Tests |
|
||
|---------|-------------|--------|-------|
|
||
| v0.2–v0.9 | Base → Backend | ✅ | — |
|
||
| v1.0 | Production (lifespan, CI/CD) | ✅ | 28/28 |
|
||
| v1.1 | Pages & Sidebar Notion | ✅ | — |
|
||
| v1.2 | Éditeur Notion (slash menu, blocs) | ✅ | — |
|
||
| v1.3 | Database Concept (collections) | ✅ | 34/34 |
|
||
| v1.4 | Propriétés Avancées (21 types) | ✅ | 38/38 |
|
||
| v1.5 | Relations, Rollups, Formulas | ✅ | 43/43 |
|
||
| v1.6 | Vues (Calendar, Gallery, List, Timeline) | ✅ | 49/49 |
|
||
| v1.7 | Vues Améliorées (view config, save-as) | ✅ | — |
|
||
| v1.8 | Sub-items & Dépendances | ✅ | 56/56 |
|
||
| v1.9 | My Tasks Dashboard | ✅ | 60/60 |
|
||
| v2.0 | Multi-User + Editor Complete | ✅ | 67/67 |
|
||
| v2.1 | Public API, Webhooks, PWA | ✅ | 73/73 |
|
||
| v2.2 | Share/Publish, Favorites, Library | ✅ | 73/73 |
|
||
| v3.0 | **Auth locale, Multi-Forge, Standalone** | 🔲 | — |
|
||
|
||
## Blocs Complétés
|
||
|
||
| Bloc | Features | Statut |
|
||
|------|----------|--------|
|
||
| Bloc 1 | Database Concept | ✅ 6/6 |
|
||
| Bloc 2 | Propriétés Avancées | ✅ 14/14 |
|
||
| Bloc 3 | Vues Manquantes | ✅ 10/10 |
|
||
| Bloc 4 | Sub-items & Dépendances | ✅ 7/7 |
|
||
| Bloc 5 | My Tasks | ✅ 7/7 |
|
||
| Bloc 6 | Éditeur Complet | ✅ 8/8 |
|
||
| Bloc 7 | Fonctions Transversales | ✅ |
|
||
|
||
**Total: 52/52 features (100%)**
|
||
|
||
## Architecture
|
||
|
||
### Tables (21)
|
||
`users`, `user_tokens`, `boards`, `cards`, `notes`, `col_mapping`, `checklists`, `checklist_items`, `project_properties`, `property_values`, `ai_keywords`, `pages`, `collections`, `collection_pages`, `collection_views`, `collection_properties`, `workspaces`, `workspace_members`, `comments`, `page_history`, `favorites`, `database_templates`, `page_templates`, `webhook_subscriptions`
|
||
|
||
### Routeurs (11)
|
||
`dashboard`, `board`, `notes`, `api`, `auth`, `webhooks`, `collections`, `my_tasks`, `workspace`, `public_api` + app-level routes
|
||
|
||
### Services (6)
|
||
`GiteaClient`, `FormulaEngine`, `RollupEngine`, `GiteaBoardCompat`, `property_types`, `webhook_outbound`
|
||
|
||
### Endpoints (85+)
|
||
CRUD collections/pages, 5 vues HTML, relations/rollups/formulas, sub-items/dependencies, my-tasks, workspaces, comments, history, favorites, templates, CSV import/export, public sharing, public API v1, webhooks, PWA manifest
|
||
|
||
## Stack
|
||
|
||
- **Backend**: Python 3.12 + FastAPI + httpx
|
||
- **Frontend**: Jinja2 + HTMX + Alpine.js + SortableJS + CSS 31KB
|
||
- **BDD**: SQLite WAL mode, 21 tables, foreign keys ON
|
||
- **Auth**: OAuth2 Gitea + sessions signed (itsdangerous) + token API
|
||
- **Déploiement**: Docker (python:3.12-slim), docker-compose, port 8080
|
||
- **Tests**: pytest, 73 tests, TestClient avec SQLite temporaire
|
||
- **CI/CD**: Gitea Actions (.gitea/workflows/ci.yml)
|