- Node.js ≥ 18
- Un port libre:
5000
npm install# mode normal
npm start
# mode dev (recommandé)
npm run devServeur: http://localhost:5000
.
├── public/
│ ├── images/ # Captures Postman
│ └── uploads/ # PDF uploadés (exemples)
├── src/
│ ├── app.js # Point d’entrée (Express)
│ ├── controllers/ # Logique des routes
│ ├── middlewares/ # Auth/validations/upload
│ ├── routes/ # Définition des endpoints
│ ├── services/ # Stockage en mémoire
│ ├── data/ # Persistance JSON
│ └── utils/ # JWT helpers
├── package.json
└── README.md
| Méthode | Route | Description |
|---|---|---|
| POST | /auth/login |
Authentification et génération du JWT |
| GET | /auth/verify |
Vérifie la validité du JWT |
| POST | /auth/logout |
Déconnexion |
| Méthode | Route | Description |
|---|---|---|
| GET | /projects |
Liste tous les projets |
| GET | /projects/:id |
Récupère un projet |
| POST | /projects |
Crée un projet (PDF obligatoire) |
| PUT | /projects/:id |
Met à jour un projet |
| DELETE | /projects/:id |
Supprime un projet (organizer uniquement) |
| Méthode | Route | Description |
|---|---|---|
| GET | /projects/:projectId/members |
Liste les membres d’un projet |
| POST | /projects/:projectId/members |
Ajoute un membre |
| PUT | /projects/:projectId/members/:memberId |
Met à jour un membre |
| DELETE | /projects/:projectId/members/:memberId |
Supprime un membre |
Les routes protégées attendent un header:
Authorization: Bearer <token>




















