Files
flowdeck/ROADMAP.md
T
bruno b863afab59
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
ROADMAP: v2.8.0-v3.0.0 complétées — roadmap terminée 🎉
2026-07-13 22:36:01 -04:00

8.3 KiB
Raw Blame History

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

  • FastAPI lifespan (deprecation fix)
  • 28 tests — 5 vues, filtres, tris, APIs, CSRF, CORS, DB
  • CI/CD Gitea Actions (.gitea/workflows/ci.yml)
  • CHANGELOG.md, ARCHITECTURE.md à jour
  • Version 1.0.0 partout (main.py, api.py, health)
  • Tag git v1.0.0

v1.1.0 ✅ — Pages & Sidebar

  • Pages Markdown avec arbre imbriqué (parent_id, sort_order)
  • Block editor mode (content_format='blocks', JSON storage)
  • Soft delete → Trash → Restore → Permanent delete
  • Drag & drop réorganisation pages
  • Sidebar Notion-style avec sections Recents/Private/Shared
  • "+ New page" footer button
  • Workspace header avec avatar + chevron toggle

v1.2.0 ✅ — Éditeur Notion

  • Slash menu (/) 15 commandes fonctionnelles
  • Navigation clavier (flèches, Enter, Escape)
  • Placeholders Notion-style (Heading 1/2/3/4, Toggle, Quote, Code)
  • Suppression outline blanc sur les blocs
  • Heading 4 support
  • Breadcrumbs contextuels (workspace > projet > page)

v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis)

  • Tables collections, collection_pages, collection_views
  • Rétrocompatibilité Gitea via GiteaBoardCompat
  • Router /db — API CRUD collections + pages (12 endpoints)
  • 34/34 tests passent

v1.4.0 ✅ — Propriétés Avancées (Bloc 2)

  • Table collection_properties — 21 types Notion
  • Service property_types.py — validation, formatage, auto-values
  • 38/38 tests passent

v1.5.0 ✅ — Relations & Rollups

  • Type relation — lien bidirectionnel entre collections
  • Type rollup — aggregation via relation (COUNT, SUM, AVG, etc.)
  • Type formula — moteur d'expressions (19 fonctions)
  • Formula engine + Rollup engine
  • 43/43 tests passent

v1.6.0 ✅ — Vues Manquantes (Bloc 3)

  • Calendar, Gallery, List, Timeline, Table views
  • View tabs navigation
  • 49/49 tests passent

v1.7.0 ✅ — Vues Améliorées

v1.8.0 ✅ — Sub-items & Dépendances

  • View config API, Save view as
  • Sub-items (parent_id auto-référence)
  • Status aggregate, Dependencies (blocking constraint)
  • 56/56 tests passent

v1.9.0 ✅ — My Tasks & Dashboard Unifié (Bloc 5)

  • Vue /my-tasks — agrège pages assignées à l'utilisateur
  • Groupement par collection, filtres globaux
  • 60/60 tests passent

v2.0.0 ✅ — Éditeur Complet & Multi-Utilisateurs (Blocs 6-7)

  • Workspaces, Comments, Page History, Favorites
  • Database Templates, Page Templates, CSV Import/Export
  • Public Sharing
  • 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 (2026-07-14)

  • Créer fichiers dans le repo (New file UI + API PUT)
  • Upload fichiers binaires (POST /upload, drag-drop)
  • Syntax highlighting via Prism.js CDN
  • Labels Gitea → tags FlowDeck (POST /sync-labels, 16 labels importés)
  • Historique commits par fichier (GET /commits?path=)

v2.9.0 ✅ — GitHub OAuth Provider (2026-07-14)

  • GitHubProvider dans app/auth/providers.py
  • GitHubAdapter dans app/services/github_adapter.py
  • Config GitHub dans .env.example (GITHUB_OAUTH_CLIENT_ID/SECRET)

v3.0.0 ✅ — UX Professionnelle (2026-07-14)

  • Multi-sélection (checkboxes + Shift/Ctrl-click dans le sidebar)
  • Raccourcis clavier (Ctrl+N, F2, Delete, Escape, Ctrl+S)
  • Inline rename (double-clic → champ inline)
  • Loading skeletons (animations pulse dans workspaces + file viewer
  • Grid/card view (mode grille/vignettes)
  • Table sorting (tri par colonnes)
  • Sélecteur de vue: Tree, List, Details, Title, Content (5 modes)
  • Preview Panel latéral (contenu, métadonnées, tags, actions)
  • Tri par date (Oldest/Newest)

v2.4.0 ✅ — Tags Personnalisés par Utilisateur (2026-07-13)

  • Tags isolés par user_id — chaque utilisateur voit ses propres tags
  • UNIQUE(name, user_id), migration des tags existants
  • API filtrage transparent (session cookie)

v2.5.0 ✅ — Administration Avancée (2026-07-13)

  • Premier compte créé = admin automatique
  • Panneau Admin dans Settings (Users & Roles, Audit)
  • Table login_history (IP, user_agent, timestamp)
  • CRUD utilisateurs (créer, modifier rôle/password, supprimer)
  • Statistiques par utilisateur (workspaces, pages, utilisation)
  • CSRF fix sur les appels admin

v2.6.0 ✅ — My Account & Auth Locale (2026-07-13)

  • Section My Account: modifier username, nom, email, mot de passe
  • Toggle voir/cacher mot de passe (oeil/barré)
  • Label "Email or username" dans login
  • Refresh cookie session après modification compte
  • Register avec Gitea (OAuth crée compte + active intégration)

v2.7.0 ✅ — Intégration Gitea Phase 1 (2026-07-13)

  • OAuth2 Provider — Gitea comme fournisseur OAuth2 (Client ID/Secret dans .env)
  • Redirect URI dynamique — basé sur le header Host (localhost + IP réseau)
  • Workspace listing — 2 sections: My Workspaces + Gitea Projects
  • Tabs par organisation — All | user | org1 | org2 avec compteurs
  • Barre de recherche — filtrage live par nom/description
  • Lazy tree — arborescence chargée un dossier à la fois
  • File viewer — lecture fichiers Gitea (décodé base64)
  • Éditeur + commit — modifier et commiter dans Gitea
  • Delete fichier — suppression avec confirmation + commit
  • Arborescence dans le sidebar — comme un workspace local
  • Settings › Integrations — connecter/déconnecter Gitea
  • Fallback token admin — GET sans token utilisateur (read-only)
  • Write ops — exigent token OAuth utilisateur (commit, delete)
  • Limit=100 — tous les repos visibles (pas de pagination tronquée)

v2.7.1 ✅ — Private Pages Gitea (2026-07-13)

  • Table gitea_private_pages — liée par (user_id, owner, repo)
  • API CRUD: GET/POST/PUT/DELETE private-pages
  • UI dans le workspace Gitea: liste + éditeur titre/contenu
  • Lien Private Pages dans le sidebar
  • Persistant entre sessions — survit au changement de workspace

🎉 Roadmap complète ! v0.2.0 → v3.0.0

Toutes les versions planifiées sont maintenant implémentées. Prochaines idées potentielles :

  • Dark mode system-wide polish
  • Mobile responsive (PWA)
  • Real-time collaboration (WebSocket)
  • AI assistant intégré
  • Support GitLab

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