Files
flowdeck/WORKLOAD.md
T
bruno d94817bac5
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
docs: ROADMAP v1.3.0 ✅ + WORKLOAD/README updated
- ROADMAP: v1.3.0 déplacé dans Completed, item checkboxes [x]
- WORKLOAD: réécrit pour refléter v1.3.0 + plan v1.4.0
- README: version 1.3.0, features à jour, tests 34/34
2026-07-09 22:40:19 -04:00

2.9 KiB
Raw Blame History

WORKLOAD — FlowDeck Notion Clone

Début: 2026-07-08 | Version actuelle: v1.3.0 | Prochaine: v1.4.0

Avancement Global

Phase 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 (14 types) ⬜ —
v1.5 Relations & Rollups ⬜ —
v1.6 Vues Calendrier/Timeline/Gallery/List ⬜ —
v1.7 Vues Améliorées (group_by, card_size) ⬜ —
v1.8 Sub-items & Dépendances ⬜ —
v1.9 My Tasks & Dashboard Unifié ⬜ —
v2.0 Éditeur Complet & Multi-Users ⬜ —

v1.3.0 — Database Concept (complété 2026-07-10)

Tables

  • collections — base de données abstraite, schéma JSON, lien Gitea optionnel
  • collection_pages — pages avec parent_id, property_values_json, position
  • collection_views — vues configurables (view_type, config_json)
  • Index: idx_cp_collection, idx_cp_parent, idx_cp_gitea

API

  • GET/POST /db/api — lister/créer collections
  • GET/PUT/DELETE /db/api/{id} — CRUD collection
  • GET/POST /db/{id}/pages/api — pages dans une collection
  • GET/PUT/DELETE /db/pages/{id}/api — CRUD page standalone
  • GET /db/{id} — vue HTML collection
  • GET /db/boards/api — boards Gitea comme collections
  • GET /db/board/{o}/{r}/api — board spécifique
  • POST /db/board/{o}/{r}/sync — sync board → collection

Adapter

  • GiteaBoardCompat — from_board(), from_card(), list_boards_as_collections(), sync_to_collection()

Infra

  • CSRF exempté pour /db/
  • Version 1.0.0 → 1.3.0
  • 34/34 tests passent
  • Tag git v1.3.0

Prochaines étapes (v1.4.0 — Propriétés Avancées)

Table collection_properties

  • Remplacer project_properties (liée à project_owner/name) par collection_properties (liée à collections)
  • Types: number, checkbox, url, email, phone, status (9 couleurs), files, unique_id
  • Auto-propriétés: created_time, created_by, last_edited_time, last_edited_by
  • Format number: nombre, %, €, $, £, ¥

Intégration UI

  • Property editor inline par type (select dropdown, date picker, checkbox...)
  • Affichage des propriétés dans la modale de détail page
  • Migration project_properties → collection_properties

Notes

  • Stack: FastAPI + Jinja2 + HTMX + Alpine.js + SortableJS + SQLite (WAL)
  • Docker: python:3.12-slim, port 8080, volume /data
  • Tests: pytest, 34 tests, client TestClient avec SQLite temporaire
  • CI/CD: Gitea Actions (.gitea/workflows/ci.yml)