Application de gestion des emplois du temps pour le dispositif d'individualisation : planification des rendez-vous élèves/formateurs, suivi des absences, import/export CSV et notifications par email.
- Backend : Node.js / TypeScript / Express / MySQL (
backend/) - Frontend : React / TypeScript / Vite / Tailwind CSS (
frontend/) - Base de données : MySQL 8 (schéma dans
db/init.sql) - Déploiement : Docker Compose + reverse proxy Caddy (HTTPS automatique)
Prérequis : Docker et Docker Compose.
./start.shCe script copie .env.example vers .env si besoin, construit et démarre tous les services, puis attend qu'ils soient prêts.
- Application : http://localhost:3000
- API : http://localhost:3001/api
- Emails de test (Mailpit) : http://localhost:8025
- Clé admin par défaut : voir le fichier
.env
Pour arrêter les services : docker compose down.
# Backend
cd backend
npm install
npm run dev
# Frontend
cd frontend
npm install
npm run devUne base MySQL locale (ou via docker compose up db) et un fichier .env basé sur .env.example sont nécessaires.
backend/ API Express (routes élèves, formateurs, rendez-vous, EDT, import/export, mail, suivi)
frontend/ Application React (tableau de bord, EDT, gestion des rendez-vous, administration)
db/ Schéma MySQL initial
scripts/ Sauvegarde, restauration, déploiement, purge des données anciennes
Caddyfile Reverse proxy HTTPS pour la production
Voir DEPLOYMENT.md pour la procédure complète (configuration DNS, .env.production.example, docker-compose.prod.yml, scripts de sauvegarde/restauration).