Files
flowdeck/README.md
T
bruno 336c7d8dfe feat: FlowDeck v0.2.0 — Kanban Gitea intégré
- Dashboard projets Gitea (user + orgs)
- Board Kanban 5 colonnes avec drag & drop (SortableJS)
- Sync bidirectionnelle colonnes ↔ labels Gitea
- Filtres milestone/label/assignee
- Notes Markdown par projet
- API REST (/api/health, /api/move, /api/col-mapping…)
- Colonnes custom, WIP limits
- Thème clair/sombre
- Cache Gitea TTL
- Docker + docker-compose
- Tests pytest
- Docs: README, ARCHITECTURE, CHANGELOG, ROADMAP
2026-07-08 08:41:31 -04:00

78 lines
2.3 KiB
Markdown

# 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