Front-end | Back-end | Creative developer

Arnaud Piette

Projet développement web

Mon Vieux Grimoire

API REST sécurisée avec Node.js, Express et MongoDB pour gérer des livres et leurs utilisateurs.

Architecture backend de Mon Vieux Grimoire avec API Express, JWT et MongoDB

Stack technique

Contexte

Mon Vieux Grimoire est une application de référencement et de notation de livres. Le projet consistait à construire l’API back-end permettant de gérer les livres, les utilisateurs et leurs interactions, avec une attention particulière portée à la sécurité et à la gestion des données.

Objectifs

Architecture et composants

  1. Routes
  2. Middlewares
  3. Contrôleurs
  4. Modèles Mongoose
  5. MongoDB

Les routes dirigent les requêtes vers les middlewares, qui appliquent notamment l’authentification. Les contrôleurs portent la logique métier et s’appuient sur les modèles Mongoose pour structurer et enregistrer les données dans MongoDB.

Fonctionnalités

Challenge principal

Sécuriser les opérations de modification et de suppression en vérifiant à la fois l’authentification de l’utilisateur et sa propriété sur la ressource. Être connecté identifie l’utilisateur grâce au token JWT ; avoir le droit de modifier un livre précis nécessite ensuite que le contrôleur vérifie que son identifiant correspond au propriétaire de ce livre.

Solution apportée

La solution repose sur un middleware d’authentification qui vérifie le JWT et récupère l’utilisateur authentifié. Le contrôleur vérifie ensuite le propriétaire de la ressource. Les modèles Mongoose structurent les données, bcrypt hash les mots de passe, Multer reçoit les images et Sharp les optimise, avec validation et gestion des erreurs côté serveur.

Sécurité

Résultats

Améliorations possibles

Compétences

Front-end

Back-end

Contact

Une question ?