# FlowDeck Gestion de projets Kanban légère, auto-hébergée, intégrée nativement à **Gitea**. ## Quick Start ```bash 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 : ```env 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 ```bash 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