# Roadmap FlowDeck — Notion Clone > **Vision**: Copie conforme de l'UI/UX Notion, intégrée à Gitea/GitHub. > **MVP en production** : v4.0.0 — authentification locale/OAuth, pages blocs, sidebar, library, share/publish, intégrations. > **Branche principale** : `main` (production) · `develop` (intégration) · `feat/*` (features). ## 🏗️ Stratégie de branches ``` main ──●────────────●────── production (tags vX.Y.Z) \ / develop ●──●──●──●────── intégration continue \ \ \ feat/xxx ● ● ●──── feature branches ``` - **`main`** : code en production, déploiement Docker automatique - **`develop`** : branche d'intégration, merges des `feat/*` - **`feat/`** : une branche par feature/fix, PR → code review → merge dans `develop` - **Tags** `vX.Y.Z` sur `main` pour chaque release **Workflow** : ```bash git checkout -b feat/mon-truc develop # ... coder, commit, push ... # Créer une PR feat/mon-truc → develop sur Gitea # Après review + CI verte → merge # Pour release: PR develop → main + tag vX.Y.Z ``` **Règles** : - Ne jamais commiter directement sur `main` - Une branche = une feature / un fix - Tests passent avant merge (CI Gitea Actions) - Commit + push après chaque modification significative --- ## 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 - [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 - [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 - [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é - [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 - [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 ### v2.2.0 ✅ — Tags & Recherche Avancée ### v2.3.0 ✅ — Multi-Vues Workspace & Preview Panel ### v2.4.0 ✅ — Tags Personnalisés par Utilisateur ### v2.5.0 ✅ — Administration Avancée ### v2.6.0 ✅ — My Account & Auth Locale ### v2.7.0 ✅ — Intégration Gitea Phase 1 ### v2.7.1 ✅ — Private Pages Gitea ### v2.8.0 ✅ — Gitea Phase 2 - [x] Créer fichiers dans le repo (New file UI + API PUT) - [x] Upload fichiers binaires (POST /upload, drag-drop) - [x] Syntax highlighting via Prism.js CDN - [x] Labels Gitea → tags FlowDeck (POST /sync-labels, 16 labels importés) - [x] Historique commits par fichier (GET /commits?path=) ### v2.9.0 ✅ — GitHub OAuth Provider - [x] GitHubProvider dans `app/auth/providers.py` - [x] GitHubAdapter dans `app/services/github_adapter.py` - [x] Config GitHub dans `.env.example` ### v3.0.0 ✅ — UX Professionnelle - [x] Multi-sélection (checkboxes + Shift/Ctrl-click dans le sidebar) - [x] Raccourcis clavier (Ctrl+N, F2, Delete, Escape, Ctrl+S) - [x] Inline rename (double-clic → champ inline) - [x] Loading skeletons (animations pulse dans workspaces + file viewer) - [x] Grid/card view (mode grille/vignettes) - [x] Table sorting (tri par colonnes) - [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) ### v4.0.0 ✅ — Accounts, Integrations & Sharing (MVP) - [x] `auth_method` sur users (local/gitea/github) - [x] Badge OAuth dans sidebar - [x] Settings page avec Connect/Disconnect Gitea + GitHub - [x] Sidebar rules (Private = distant seulement, Trash local-only) - [x] Library page avec tabs + filtres source (All/Local/Gitea/GitHub) - [x] Modale Share (2 tabs: Share + Publish) - [x] Page publique `/p/` (no auth, rendu HTML) - [x] Table `page_shares`, colonnes `is_published`, `is_shared`, `share_mode` - [x] Table `recents` — tracking automatique - [x] Édition unifiée local/distant (même UI, bouton Commit pour Gitea) - [x] 133 tests passent --- ## 🔜 Prochaines versions ### v4.0.1 — Onboarding & Polish 🎯 (priorité MAX) > **Objectif** : rendre l'app utilisable dès la première visite, sans friction. - [ ] **Landing page `/` pour visiteurs non-auth** — page d'accueil (pas de redirect loop) - [ ] **Page `/auth/register` GET** — formulaire d'inscription dédié (pas juste un tab) - [ ] **Redirection `/` intelligente** — si pas connecté → login, si connecté sans Gitea → local workspace - [ ] **Empty states cohérents** — onboarding dans le local workspace vide - [ ] **Page 404 stylisée** — thème Notion sombre (actuellement HTML brut) - [ ] **Unifier les routes API** — `/board/api/pages` ↔ `/api/pages` (cohérence) - [ ] **Page Settings accessible** → lien dans le menu utilisateur déjà présent, vérifier fonctionnel **Effort estimé** : 2-3 sessions | **Impact** : 🔴 Critique pour adoption ### v4.0.2 — Qualité & Robustesse > **Objectif** : zéro crash, zéro regression, DX impeccable. - [ ] **Gestion d'erreurs** — try/catch manquants, messages user-friendly - [ ] **Validation inputs** — formulaires login/register, titre de page vide - [ ] **Rate limiting effectif** — tester + ajuster les seuils - [ ] **Session expiry UX** — message clair au lieu de redirect silencieux - [ ] **CSRF token refresh** — après expiration session - [ ] **Mobile responsive** — sidebar, editor, modals sur petit écran - [ ] **Tests de non-régression** — scénarios critiques (login, create page, publish) **Effort estimé** : 2-3 sessions | **Impact** : 🟡 Élevé --- ### v4.1.0 — Content Blocks enrichis (Notion Parity Tier 2) > **Objectif** : parité d'édition avec Notion. - [ ] **Callout blocks** — boîtes colorées (info, warning, tip, success) - [ ] **Table of contents** — auto-généré depuis les headings - [ ] **Math equations** — LaTeX / KaTeX inline + block - [ ] **Toggle lists** — contenu expandable/collapsible (déjà partiel) - [ ] **Multi-colonnes** — layout flexible (2, 3 colonnes) ### v4.2.0 — Export - [ ] **Export Markdown** — avec images et sous-pages (déjà partiel dans editor) - [ ] **Export PDF** — mise en page fidèle, table des matières - [ ] **Export HTML** — site statique standalone ### v4.3.0 — Collaboration - [ ] **Inline comments** — commentaires sur sélection de texte - [ ] **@mentions** — notifier un utilisateur → page/commentaire - [ ] **Email notifications** — changements, mentions ### v4.4.0 — Embeds & Rich Media - [ ] **Embeds** — YouTube, Figma, Google Maps, Twitter, etc. - [ ] **Image lightbox** — clic pour agrandir, navigation - [ ] **Bookmark cards** — aperçu riche des liens (OG metadata) ### v4.5.0 — Kanban Adaptable - [ ] Colonnes configurables par utilisateur - [ ] Cartes configurables (choisir propriétés affichées) - [ ] Couverture de carte (image, icône, couleur) - [ ] WIP limits par colonne ### v4.6.0 — Calendar & Meetings - [ ] Vue Calendrier drag & drop - [ ] Récurrence d'événements - [ ] Template Meeting Notes ### v4.7.0 — AI Assistant - [ ] Intégration LLM pour écriture/résumé/traduction - [ ] Slash AI commands (`/ai write`, `/ai summarize`) - [ ] Auto-complétion ### v4.8.0 — Command Palette & Recherche - [ ] **Command palette** — Ctrl+K / Ctrl+P recherche universelle - [ ] **Quick actions** — navigation, création, commandes ### v4.9.0 — Automations - [ ] **Database automations** — if-this-then-that - [ ] **Buttons** — cliquables déclenchant actions ### v4.10.0 — Database Avancée - [ ] Inline databases dans n'importe quelle page - [ ] Templates de database (Project tracker, CRM…) - [ ] Validation des propriétés (required, unique, min/max) --- ## v5.0.0 — Pro (futur) - [ ] **PWA** — Progressive Web App, offline support - [ ] **SSO/SAML** — enterprise authentication - [ ] **Granular permissions** — page-level, property-level access control - [ ] **Web Clipper** — extension navigateur - [ ] **API publique** — REST API + webhooks documentés - [ ] **Realtime editing** — WebSocket, curseurs multi-utilisateurs - [ ] **Synced blocks** — bloc synchronisé entre plusieurs pages --- ## Résumé des phases ``` v0.x–v1.x ✅ v2.x ✅ v3.0.0 ✅ v4.0.0 ✅ v4.0.1 ⬜ Base + Kanban Éditeur + Gitea UX Pro MVP Onboarding + DB + Auth + Workspaces + Multi-select Accounts & Polish + UI Notion + Tags + Admin + Sharing PRIORITÉ + GitHub OAuth + Library MAX v4.0.2 ⬜ v4.1.0 ⬜ v4.2.0 ⬜ v4.3.0 ⬜ v4.4–4.10 ⬜ v5.0.0 ⬜ Quality Blocks Export Collab Notion Pro & Tests enrichis PDF/MD @mentions Parity (futur) ``` *Dernière mise à jour: 2026-07-18 — Roadmap restructuré, focus MVP, stratégie de branches Gitea*