Application web de gestion de tâches. Interface Kanban avec backend Node.js et persistance Redis.
| Couche | Technologie | Rôle |
|---|---|---|
| Frontend | HTML/CSS/JS vanilla | Interface Kanban, servie par Nginx |
| Backend | Node.js (sans framework) | API REST — logique métier |
| Stockage | Redis 7 | Persistance des tâches et stats |
taskflow/
├── frontend/
│ └── index.html ← interface Kanban
├── backend/
│ ├── server.js ← API REST
│ ├── server.test.js ← tests unitaires
│ └── package.json
├── .env.example
├── .gitignore
└── README.md
- Node.js 18+
- Docker Desktop démarré (pour lancer Redis)
Redis tourne dans un container Docker — pas besoin de l'installer sur ta machine.
docker run -d -p 6379:6379 --name redis-dev redis:7-alpinePour vérifier que Redis tourne :
docker ps
# → redis-dev doit être listé en "Up"Pour arrêter Redis :
docker stop redis-dev && docker rm redis-devgit clone https://github.com/[FORMATEUR]/taskflow.git
cd taskflowcp .env.example .envcd backend
npm install
npm startcurl http://localhost:3001/health
# → { "status": "ok", "redis": "connected", ... }cd backend
npm test # tests unitaires — aucune connexion Redis requise
npm run lint # vérification ESLint| Méthode | Route | Body | Description |
|---|---|---|---|
| GET | /health | — | État de l'app |
| GET | /tasks | — | Liste toutes les tâches |
| POST | /tasks | { title, description?, priority? } |
Créer une tâche |
| PUT | /tasks/:id | { title?, description?, status?, priority? } |
Modifier une tâche |
| DELETE | /tasks/:id | — | Supprimer une tâche |
Valeurs status : todo · in-progress · done
Valeurs priority : low · medium · high
| Variable | Défaut | Description |
|---|---|---|
PORT |
3001 |
Port du backend |
APP_ENV |
development |
Environnement |
APP_VERSION |
1.0.0 |
Version affichée dans /health |
REDIS_URL |
redis://localhost:6379 |
URL de connexion Redis |
Ce projet est la base du projet final DevOps — Bachelor 3 Développement.
Votre mission : le containeriser, automatiser sa livraison, et le déployer sur Kubernetes.