bruno 755404fbb0
FlowDeck CI / test (push) Failing after 3s
FlowDeck CI / docker (push) Has been skipped
feat: sidebar tree navigation — toggle chevrons + drag & drop
- Add sort_order column to pages table for drag & drop reordering
- Rewrite _sidebar_data with recursive _build_page_tree for nested hierarchy
- Add tree toggle buttons (▶ collapsed / ▼ expanded) on parent items
- Alpine.js expandedNodes state with toggleTreeNode() for expand/collapse
- Jinja2 recursive macro render_tree_item for proper nesting + indentation
- SortableJS integration on .sidebar-items for drag & drop repositioning
- New PUT /board/api/pages/{id}/move API for persisting moves
- Auto-set sort_order on page creation (max+1 for same parent)
- CSS: .tree-toggle, .tree-toggle-placeholder, grab cursor on page-icon
- 28/28 tests pass, all endpoints healthy
2026-07-08 22:27:09 -04:00
2026-07-08 14:40:03 -04:00
2026-07-08 14:40:03 -04:00
2026-07-08 14:40:03 -04:00
2026-07-08 14:40:03 -04:00

FlowDeck

Clone de l'interface Notion intégré nativement à Gitea — Kanban, Table, Status Overview, Team Load.

v0.4.0-dev — Refonte UI Notion-style (Dark Mode, sidebar, topbar, multi-vues)

Quick Start

cp .env.example .env
# Éditer .env avec votre token Gitea
docker compose up -d
# → http://localhost:8080

Features (v0.4.0)

UI Notion-Style

  • Sidebar gauche avec sections hiérarchiques (Home, Recents, Private, Library)
  • Topbar avec titre de page, statut, boutons d'action (Share, favori, notifications)
  • Dark mode Notion: #191919 fond, #222222 sidebar, #333333 actif
  • Menu contextuel (clic droit): Copy link, Duplicate, Rename, Move to Trash...
  • Hover states subtils avec icônes d'action qui apparaissent
  • Typographie Inter, coins arrondis 4-6px

Vues Multiples

  • Kanban board: colonnes To-do/In progress/Complete avec sous-groupes (Design, Engineering)
  • Table view: colonnes Name, Status, Assign, Deadline, Team, AI keywords
  • Status overview: Donut chart avec segments, compteurs, pourcentages
  • Team Load: Barres empilées par membre d'équipe
  • Detailed board: cartes avec toutes les propriétés visibles

Filtres & Tri

  • Filtres cumulables (logique AND) avec pastilles cliquables
  • Tri multi-critères hiérarchique
  • Filtre par statut: checkboxes multiples avec points colorés
  • Filtre AI keywords: recherche + sélection multiple

Intégration Gitea

  • Issues Gitea → cartes Notion-style
  • Sync labels, milestones, assignees, due dates
  • OAuth2 Gitea, CSRF, rate limiting
  • Webhooks pour sync temps réel

Stack

Couche Techno
Frontend HTML5 + Jinja2 + CSS Notion, Alpine.js, HTMX, SortableJS
Backend Python 3.12 + FastAPI + httpx
BDD SQLite (WAL mode) — /data/flowdeck.db
Déploiement Docker (Python 3.12-slim), docker-compose

Configuration

GITEA_URL=https://git.dracodev.net
GITEA_TOKEN=votre_token
APP_PORT=8080
DATABASE_URL=sqlite:////data/flowdeck.db

Roadmap

Voir ROADMAP.md — v0.4.0 UI Notion → v1.0.0 Production

Développement

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8080

Licence

MIT

S
Description
FlowDeck — Gestion de projets Kanban léger intégré à Gitea
Readme
21 MiB
Languages
Python 58.1%
JavaScript 21.3%
HTML 17.3%
CSS 3.3%