Application web de gestion de tâches inspirée de Trello, structurée en deux projets (API REST + client web) et conteneurisée avec Docker Compose.
Réalisée dans le cadre de la formation Concepteur Développeur d'Applications (O'clock, promo Francfort).
Back-end (api/)
express-xss-sanitizer — protection anti-XSSFront-end (client/)
svelte-dnd-action + SortableJS — glisser-déposer des cartesjwt-decode — lecture du jeton côté clientInfra
api, client, db)okanban/
├── api/ API REST (Express + Sequelize)
├── client/ SPA (Svelte 5 + Vite)
├── docker-compose.yml Orchestration des 3 conteneurs
├── .database.docker.env Variables d'environnement de la base (Docker)
└── package.json Scripts globaux (dev, build, db:*)
Voir les README dédiés : api/README.md · client/README.md
docker compose up --build
Les trois conteneurs démarrent :
okanban-database (PostgreSQL 17) — les scripts SQL d'api/data/ sont
exécutés automatiquement au premier lancementokanban-api (port 3000) — démarre après la baseokanban-cli (port 4173) — démarre après l'API# 1. Installer les dépendances (API puis client via postinstall)
npm install
# 2. Configurer les variables d'environnement
cp api/.env.example api/.env
cp client/.env.example client/.env
# 3. Préparer la base de données PostgreSQL
npm run db:create
npm run db:seed
# 4. Lancer back et front en parallèle
npm run dev
| Script | Description |
|---|---|
npm install |
Installe les dépendances de api/ puis client/ |
npm run dev |
Lance back + front en parallèle |
npm run dev:back |
Lance uniquement l'API |
npm run dev:front |
Lance uniquement le client |
npm run db:create |
Crée les tables PostgreSQL |
npm run db:seed |
Insère le jeu de données de test |
npm run db:reset |
Recrée + ré-injecte les données |
npm run build |
Build de production du client |
npm start |
Démarre l'API en mode production |
| Username | Mot de passe | Rôle |
|---|---|---|
| Alice | Passw0rd |
admin |
| Bob | Passw0rd |
member |
Les tests unitaires (pattern AAA, principes FIRST) sont dans
api/unit-tests/. Voir api/README.md.
Une variante du projet intégrant l'API Mistral AI (correction
orthographique, traduction, chat) est disponible dans un dépôt séparé :
okanban-mistral.
Nathalie Leduc — formation CDA, O'clock.