Files

104 lines
2.5 KiB
Markdown

# Kanbante
**Kanban project manager integrated with Gitea** — lightweight, self-hosted, dark theme.
## Features
- 📋 **Dashboard** — tous tes projets Gitea en un coup d'œil (actifs / archivés)
- 🗂️ **Kanban Board** — colonnes Backlog → À faire → En cours → Révision → Terminé
- 🎯 **Drag & Drop** — glisse les issues entre colonnes
- 🔗 **Gitea Sync** — les issues Gitea deviennent des cartes Kanban
- 📝 **Notes** — bloc-notes par projet
- 🌙 **Dark theme** — conçu pour les longues sessions
- 🐳 **Docker** — un seul conteneur, déploiement en 30 secondes
## Quick Start
```bash
# 1. Installer les dépendances
cd kanbante
pip install -e .
# 2. Configurer les variables d'environnement
export GITEA_URL=https://git.dracodev.net
export GITEA_TOKEN=ton_token_gitea
# 3. Lancer
uvicorn app.main:app --reload --port 8080
```
Ouvrir http://localhost:8080
## Docker
### Avec docker-compose (recommandé si docker-compose ≥ v2)
```bash
echo "GITEA_TOKEN=ton_token" > .env
docker compose up -d
```
### Avec docker uniquement
```bash
# Builder l'image
docker build -t kanbante:latest .
# Créer le volume persistant
docker volume create kanbante_data
# Lancer
docker run -d \
--name kanbante \
-p 8080:8080 \
-v kanbante_data:/data \
-e GITEA_URL=https://git.dracodev.net \
-e GITEA_TOKEN=ton_token \
--restart unless-stopped \
kanbante:latest
```
### Déploiement sur Deepin 25 (Debian Bookworm)
```bash
# Installer Docker
sudo apt install -y docker.io docker-compose docker-buildx
sudo usermod -aG docker $USER
sudo systemctl enable --now docker
# Builder et lancer (voir section "Avec docker uniquement")
```
## Architecture
```
kanbante/
├── app/
│ ├── main.py # FastAPI app (routes + API)
│ ├── gitea_client.py # Client API Gitea
│ ├── models.py # SQLite (état du board local)
│ └── templates/ # Jinja2 (dashboard.html, board.html)
├── static/
│ ├── css/style.css # Design system dark theme
│ └── js/board.js # Drag & drop (SortableJS)
├── Dockerfile
├── docker-compose.yml
└── README.md
```
## API
| Méthode | Route | Description |
|---------|-------|-------------|
| GET | `/` | Dashboard tous les projets |
| GET | `/board/{owner}/{repo}` | Kanban board |
| POST | `/api/move` | Déplacer une issue |
| POST | `/api/notes` | Sauvegarder des notes |
| GET | `/api/stats` | Statistiques JSON |
| GET | `/api/projects` | Projets JSON |
| GET | `/api/health` | Health check |
## Licence
MIT