Files
flowdeck/ROADMAP.md
bruno 47b0f80dfe
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
docs: ROADMAP restructuré pour focus MVP + stratégie de branches Gitea
- ROADMAP.md: réorganisé avec priorités claires (v4.0.0=complété, v4.0.1=onboarding PRIO MAX)
- Ajout BRANCHING.md: convention main/develop/feat/*, workflow complet
- Branche develop créée et poussée sur Gitea
- Sections Parité Notion réparties en v4.1–v4.10 ordonnées par priorité
- Résumé des phases mis à jour
2026-07-20 07:28:41 -04:00

12 KiB
Raw Permalink Blame History

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/<nom> : une branche par feature/fix, PR → code review → merge dans develop
  • Tags vX.Y.Z sur main pour chaque release

Workflow :

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

  • 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

  • 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

  • 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

  • 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é

  • 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

  • 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

  • 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

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

v3.0.0 ✅ — UX Professionnelle

  • 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)

v4.0.0 ✅ — Accounts, Integrations & Sharing (MVP)

  • auth_method sur users (local/gitea/github)
  • Badge OAuth dans sidebar
  • Settings page avec Connect/Disconnect Gitea + GitHub
  • Sidebar rules (Private = distant seulement, Trash local-only)
  • Library page avec tabs + filtres source (All/Local/Gitea/GitHub)
  • Modale Share (2 tabs: Share + Publish)
  • Page publique /p/<slug> (no auth, rendu HTML)
  • Table page_shares, colonnes is_published, is_shared, share_mode
  • Table recents — tracking automatique
  • Édition unifiée local/distant (même UI, bouton Commit pour Gitea)
  • 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