Skip to content

Soniacollab/API-collab-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API REST — Projets Collaboratifs (JWT + Upload PDF)

Prérequis

  • Node.js ≥ 18
  • Un port libre: 5000

Installation

npm install

Lancer le serveur

# mode normal
npm start

# mode dev (recommandé)
npm run dev

Serveur: http://localhost:5000

Structure du projet

.
├── 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

Routes

Auth

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

Projects

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)

Members

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

Authentification

Les routes protégées attendent un header:

Authorization: Bearer <token>

Captures Postman

Auth

Test login Test logout Test login data Test login member Erreurs API Token vérifié

Members

Delete member (organizer) Delete member (non organizer) Liste members Member d’un projet Update member (organizer) Update member Member exists Create member

Projets

Delete projet (organizer) Delete projet (non organizer) Projet (non member) Projet (member) Liste projets Projet exists Create projet Update projet (non organizer)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published