87862b64b8f540da023a9dfebfd6186b36b5715d
FlowDeck
Gestion de projets Kanban légère, auto-hébergée, intégrée nativement à Gitea.
Quick Start
cp .env.example .env
# Éditer .env avec votre token Gitea
docker compose up -d
# → http://localhost:8080
Features
- Dashboard listant tous les projets Gitea (user + orgs)
- Board Kanban 5 colonnes : Backlog → À faire → En cours → Révision → Terminé
- Issues Gitea → cartes : sync automatique, filtres par milestone/label/assignee
- Drag & drop (SortableJS) avec persistance SQLite
- Sync bidirectionnelle : déplacer une carte → label Gitea mis à jour, colonne Terminé → ferme l'issue
- Colonnes personnalisables + configuration du mapping colonne→label Gitea
- WIP limits configurables par colonne
- Notes Markdown par projet (éditeur + sauvegarde)
- API REST :
/api/health,/api/stats,/api/projects,/api/move,/api/col-mapping - Thème clair/sombre commutable
- Filtres par milestone, label, assignee
- PR affichées séparément des issues
- Dark/light theme toggle avec persistance localStorage
Stack
| Couche | Techno |
|---|---|
| Frontend | HTML5 + Jinja2 + CSS custom, HTMX, Alpine.js, SortableJS |
| Backend | Python 3.12 + FastAPI + Uvicorn + httpx |
| BDD | SQLite (WAL mode) — /data/flowdeck.db |
| Intégration | API REST Gitea v1 (token auth) |
| Déploiement | Docker (Python 3.12-slim), docker-compose |
Configuration
Voir .env.example. Variables principales :
GITEA_URL=https://git.dracodev.net
GITEA_TOKEN=votre_token
APP_PORT=8080
DATABASE_URL=sqlite:////data/flowdeck.db
SYNC_INTERVAL=60
GITEA_CACHE_TTL=30
API Reference
| Endpoint | Description |
|---|---|
GET /api/health |
Health check (DB + Gitea) |
GET /api/stats |
Statistiques globales |
GET /api/projects |
Projets Gitea (JSON) |
POST /api/move |
Déplacer une carte |
POST /api/col-mapping |
Configurer mapping colonne→label |
GET /api/board-config/{owner}/{repo} |
Configuration board |
POST /api/board-config/{owner}/{repo} |
Mettre à jour colonnes/WIP |
Développement
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # éditer
uvicorn app.main:app --reload --port 8080
Licence
MIT
Languages
Python
58.1%
JavaScript
21.3%
HTML
17.3%
CSS
3.3%