🌶️ Hot Takes – API sécurisée pour une application de critique de sauces piquantes ​
Contexte ​
En tant que développeur back-end indépendant, j’ai été missionné par la marque Piiquante pour développer une API REST sécurisée dans le cadre de leur nouvelle application web "Hot Takes". Cette plateforme permet aux utilisateurs de partager leurs sauces piquantes préférées, et d’interagir via un système de likes/dislikes.
Le front-end, développé en Angular, étant déjà finalisé, ma mission portait exclusivement sur la création du back-end de l’application, avec une attention particulière portée sur la sécurité.
Objectif ​
- Créer une API REST complète (authentification, CRUD sauces, likes/dislikes)
- Assurer la sécurité des données utilisateurs (mots de passe hachés, contrôle d’accès)
- Stocker les sauces et leurs images avec gestion des fichiers
- Implémenter une logique métier robuste et évolutive
- Respecter le format strict attendu par le front-end Angular
Fonctionnalités clés ​
Authentification sécurisée :
- Création de compte avec hachage du mot de passe (
bcrypt
) - Connexion via
JWT
(JSON Web Token) - Contrôle d’accès basé sur l’
userId
- Création de compte avec hachage du mot de passe (
CRUD complet sur les sauces :
- Ajout avec image (
multer
) - Modification avec ou sans nouvelle image
- Suppression avec contrôle d’auteur uniquement
- Liste et détail des sauces
- Ajout avec image (
Système de like/dislike :
- Chaque utilisateur peut liker, disliker ou annuler son vote
- EmpĂŞche les votes multiples par utilisateur
- Mise Ă jour des compteurs et des tableaux
usersLiked
etusersDisliked
Exigences respectées ​
- ✅ Mots de passe hachés (
bcrypt
) - âś… Utilisation de
JWT
pour protéger les routes sauce - ✅ Contrôle d’accès fin : modification/suppression uniquement par le créateur