# Roadmap FlowDeck — Notion Clone > **Vision**: Copie conforme de l'UI/UX Notion, intégrée à Gitea. > **19 images de référence** dans `images/` — analysées le 2026-07-08. ## Completed ### v0.2.0 ✅ — Base Dashboard + Board Kanban + Gitea sync + Notes + Docker ### v0.3.0 ✅ — Auth OAuth2 Gitea, token par utilisateur, CSRF, rate limiting, webhooks ### v0.4.0 ✅ — UI Notion Layout 3 zones (sidebar 240px + topbar 44px), dark mode, CSS 31KB, Alpine.js ### v0.5.0 ✅ — Kanban Colonnes, groupes, cartes enrichies, drag&drop, modale détail, checklists, commentaires ### v0.6.0 ✅ — Table View 6 colonnes triables, groupes rétractables ### v0.7.0 ✅ — Filtres & Tri Filtres cumulables AND, status dropdown, sort multi-critères ### v0.8.0 ✅ — Vues Spéciales Status Overview (donut SVG), Team Load (barres), Detailed Board ### v0.9.0 ✅ — Backend Propriétés custom, AI keywords, sync API, 12 tables DB ### v1.0.0 ✅ — Production - [x] FastAPI lifespan (deprecation fix) - [x] 28 tests — 5 vues, filtres, tris, APIs, CSRF, CORS, DB - [x] CI/CD Gitea Actions (`.gitea/workflows/ci.yml`) - [x] CHANGELOG.md, ARCHITECTURE.md à jour - [x] Version 1.0.0 partout (main.py, api.py, health) - [x] Tag git v1.0.0 ### v1.1.0 ✅ — Pages & Sidebar - [x] Pages Markdown avec arbre imbriqué (parent_id, sort_order) - [x] Block editor mode (content_format='blocks', JSON storage) - [x] Soft delete → Trash → Restore → Permanent delete - [x] Drag & drop réorganisation pages - [x] Sidebar Notion-style avec sections Recents/Private/Shared - [x] "+ New page" footer button - [x] Workspace header avec avatar + chevron toggle ### v1.2.0 ✅ — Éditeur Notion - [x] Slash menu (/) 15 commandes fonctionnelles - [x] Navigation clavier (flèches, Enter, Escape) - [x] Placeholders Notion-style (Heading 1/2/3/4, Toggle, Quote, Code) - [x] Suppression outline blanc sur les blocs - [x] Heading 4 support - [x] Breadcrumbs contextuels (workspace > projet > page) ### v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis) - [x] Tables `collections`, `collection_pages`, `collection_views` - [x] Rétrocompatibilité Gitea via `GiteaBoardCompat` - [x] Router `/db` — API CRUD collections + pages (12 endpoints) - [x] 34/34 tests passent ### v1.4.0 ✅ — Propriétés Avancées (Bloc 2) - [x] Table `collection_properties` — 21 types Notion - [x] Service `property_types.py` — validation, formatage, auto-values - [x] 38/38 tests passent ### v1.5.0 ✅ — Relations & Rollups - [x] Type `relation` — lien bidirectionnel entre collections - [x] Type `rollup` — aggregation via relation (COUNT, SUM, AVG, etc.) - [x] Type `formula` — moteur d'expressions (19 fonctions) - [x] Formula engine + Rollup engine - [x] 43/43 tests passent ### v1.6.0 ✅ — Vues Manquantes (Bloc 3) - [x] Calendar, Gallery, List, Timeline, Table views - [x] View tabs navigation - [x] 49/49 tests passent ### v1.7.0 ✅ — Vues Améliorées ### v1.8.0 ✅ — Sub-items & Dépendances - [x] View config API, Save view as - [x] Sub-items (parent_id auto-référence) - [x] Status aggregate, Dependencies (blocking constraint) - [x] 56/56 tests passent ### v1.9.0 ✅ — My Tasks & Dashboard Unifié (Bloc 5) - [x] Vue `/my-tasks` — agrège pages assignées à l'utilisateur - [x] Groupement par collection, filtres globaux - [x] 60/60 tests passent ### v2.0.0 ✅ — Éditeur Complet & Multi-Utilisateurs (Blocs 6-7) - [x] Workspaces, Comments, Page History, Favorites - [x] Database Templates, Page Templates, CSV Import/Export - [x] Public Sharing - [x] 67/67 tests passent ### v2.1.0 ✅ — Workspace Local & Arborescence - [x] Page `/local-workspace` — file/folder tree avec breadcrumb - [x] CRUD items, drag & drop upload/interne - [x] File viewer (images, PDF, code), preview hover - [x] Menu contextuel (clic droit / long-press mobile) - [x] Recherche + filtre par type, Expand/Collapse all - [x] 73 tests passent ### v2.2.0 ✅ — Tags & Recherche Avancée - [x] Tables `tags` + `page_tags`, CRUD API - [x] Vue Table enrichie, filtrage par tags - [x] Menu contextuel tags (ajout/retrait, création avec couleur) - [x] Filtre "Dossiers", auto-switch table ### v2.3.0 ✅ — Multi-Vues Workspace & Preview Panel - [x] Sélecteur de vue: Tree, List, Details, Title, Content (5 modes) - [x] Preview Panel latéral (contenu, métadonnées, tags, actions) - [x] Tri par date (Oldest/Newest) ### v2.4.0 ✅ — Tags Personnalisés par Utilisateur (2026-07-13) - [x] Tags isolés par `user_id` — chaque utilisateur voit ses propres tags - [x] `UNIQUE(name, user_id)`, migration des tags existants - [x] API filtrage transparent (session cookie) ### v2.5.0 ✅ — Administration Avancée (2026-07-13) - [x] Premier compte créé = admin automatique - [x] Panneau Admin dans Settings (Users & Roles, Audit) - [x] Table `login_history` (IP, user_agent, timestamp) - [x] CRUD utilisateurs (créer, modifier rôle/password, supprimer) - [x] Statistiques par utilisateur (workspaces, pages, utilisation) - [x] CSRF fix sur les appels admin ### v2.6.0 ✅ — My Account & Auth Locale (2026-07-13) - [x] Section My Account: modifier username, nom, email, mot de passe - [x] Toggle voir/cacher mot de passe (oeil/barré) - [x] Label "Email or username" dans login - [x] Refresh cookie session après modification compte - [x] Register avec Gitea (OAuth crée compte + active intégration) ### v2.7.0 ✅ — Intégration Gitea Phase 1 (2026-07-13) - [x] **OAuth2 Provider** — Gitea comme fournisseur OAuth2 (Client ID/Secret dans `.env`) - [x] **Redirect URI dynamique** — basé sur le header `Host` (localhost + IP réseau) - [x] **Workspace listing** — 2 sections: My Workspaces + Gitea Projects - [x] **Tabs par organisation** — All | user | org1 | org2 avec compteurs - [x] **Barre de recherche** — filtrage live par nom/description - [x] **Lazy tree** — arborescence chargée un dossier à la fois - [x] **File viewer** — lecture fichiers Gitea (décodé base64) - [x] **Éditeur + commit** — modifier et commiter dans Gitea - [x] **Delete fichier** — suppression avec confirmation + commit - [x] **Arborescence dans le sidebar** — comme un workspace local - [x] **Settings › Integrations** — connecter/déconnecter Gitea - [x] **Fallback token admin** — GET sans token utilisateur (read-only) - [x] **Write ops** — exigent token OAuth utilisateur (commit, delete) - [x] **Limit=100** — tous les repos visibles (pas de pagination tronquée) ### v2.7.1 ✅ — Private Pages Gitea (2026-07-13) - [x] Table `gitea_private_pages` — liée par (user_id, owner, repo) - [x] API CRUD: GET/POST/PUT/DELETE private-pages - [x] UI dans le workspace Gitea: liste + éditeur titre/contenu - [x] Lien Private Pages dans le sidebar - [x] Persistant entre sessions — survit au changement de workspace --- ## Upcoming ### v2.8.0 — Gitea Phase 2 (Écriture avancée) - [ ] Création de nouveaux fichiers dans le repo Gitea - [ ] Upload de fichiers binaires - [ ] Syntax highlighting dans le file viewer - [ ] Labels Gitea → tags FlowDeck (sync bidirectionnelle) - [ ] Historique des commits récents par fichier ### v2.9.0 — GitHub OAuth Provider - [ ] OAuth2 GitHub (même flux que Gitea) - [ ] GitHubAdapter dans le ForgeAdapter pattern - [ ] Section GitHub Projects dans /workspaces ### v3.0.0 — UX Professionnelle (inspiré du gap analysis v2.2) - [ ] Multi-sélection (checkboxes, Shift-click, Ctrl-click) - [ ] Raccourcis clavier (Enter, F2, Del, Ctrl+A/C/V/Z) - [ ] Inline rename (double-clic → champ inline) - [ ] Vue détails/tableau avec tri - [ ] Loading skeletons - [ ] Mode grille/vignettes --- ## Résumé des phases ``` v1.0.0 ✅ v1.1.0 ✅ v1.2.0 ✅ v1.3.0 ✅ v1.4.0 ✅ v1.5.0 ✅ v1.6.0 ✅ v1.7.0 ✅ Production Pages Editor DB Concept Properties Relations Views View+ v2.0.0 ✅ v2.1.0 ✅ v2.2.0 ✅ v2.3.0 ✅ v2.4.0 ✅ v2.5.0 ✅ v2.6.0 ✅ v2.7.0 ✅ Editor+ Workspace Tags Views5 Tags/user Admin Account Gitea P1 Local Panel v2.7.1 ✅ v2.8.0 ⬜ v2.9.0 ⬜ v3.0.0 ⬜ Private Gitea P2 GitHub Pro UX Pages ``` *Dernière mise à jour: 2026-07-13*