bruno 37337a5de7
FlowDeck CI / lint (push) Successful in 47s
FlowDeck CI / test (push) Successful in 5m0s
FlowDeck CI / docker (push) Successful in 41s
fix(settings): corriger le chargement du panneau via navigation partielle HTMX
settingsInit est declare comme fonction globale au lieu d'etre enregistre dans alpine:init : l'evenement alpine:init ne se redeclenche pas lors d'un swap HTMX de .main-wrapper, ce qui laissait settingsInit non enregistre et provoquait des ReferenceError (llmSaving, llmTesting, llmDefaultProvider, llmMsgOk) au chargement des Reglages depuis un bouton du topbar. Le bloc du token API cree passe aussi de x-show a template x-if pour eviter le dereferencement de newToken null.
2026-09-13 11:50:17 -04:00
2026-09-10 23:47:35 -04:00
2026-07-13 20:48:40 -04:00
2026-07-13 22:34:37 -04:00

FlowDeck

Clone complet de Notion intégré nativement à Gitea — Databases, Pages, Kanban, Calendar, Gallery, Timeline, List, Multi-Users.

v2.1.0 — API publique, Webhooks sortants, PWA

Quick Start

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

Features

Database & Properties (v1.3–v1.5)

  • Collections: databases indépendantes de Gitea, schéma JSON
  • 21 types de propriétés: title, text, number, select, status, date, person, checkbox, url, email, phone, files, unique_id, relation, rollup, formula + auto-props
  • Relations bidirectionnelles + Rollups (12 agrégations) + Formulas (19 fonctions)
  • GiteaBoardCompat: adaptateur boards Gitea legacy → Collections

Vues Multiples (v1.6–v1.7)

  • Table: colonnes SSR, triables
  • Board (Kanban): colonnes, groupes, drag & drop
  • Calendar: grid mensuel, navigation, événements
  • Gallery: cartes visuelles, card_size configurable
  • List: vue compacte avec preview
  • Timeline: barres Gantt horizontales
  • Status Overview: Donut chart SVG
  • Team Load: Barres empilées

Sub-items & Dépendances (v1.8)

  • Sub-items: parent_id auto-référence, hiérarchie illimitée
  • Status aggregate: parent = Done si tous enfants Done
  • Dependencies: Blocking/Blocked by, contrainte de transition

My Tasks (v1.9)

  • Dashboard cross-collection agrégeant toutes les tâches assignées
  • Vues: All, Today, Overdue, Next 7 days

Multi-User & Collaboratif (v2.0)

  • Workspaces: espaces partagés avec rôles (admin, editor, commenter, viewer)
  • Comments: commentaires threadés sur les pages
  • Page History: historique des modifications avec snapshots
  • Favorites: favoris par utilisateur
  • Templates: database + page templates
  • CSV Import/Export
  • Public Sharing: lien de partage lecture seule

API & Intégrations (v2.1)

  • API publique REST: /api/v1 avec token auth
  • Webhooks sortants: gestion + dispatcher d'événements
  • PWA: manifest.json, prêt pour installation mobile

UI Notion-Style (v1.1–v1.2)

  • Sidebar gauche avec sections hiérarchiques
  • Topbar avec breadcrumbs (workspace > projet > page)
  • Dark mode Notion: #191919 fond, #222222 sidebar
  • Éditeur de blocs: slash menu (/), navigation clavier, placeholders

Intégration Gitea

  • Issues Gitea → cartes, sync labels, milestones, assignees, due dates
  • OAuth2 Gitea, CSRF, rate limiting, webhooks

Stack

Couche Techno
Frontend Jinja2 + HTMX + Alpine.js + SortableJS + CSS
Backend Python 3.12 + FastAPI + httpx
BDD SQLite (WAL, 21 tables) — /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

Tests

python3 -m pytest tests/ -v   # 73/73 passent

Roadmap

Voir ROADMAP.md — 7/7 blocs complétés, 52/52 features ✅

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%