l'évolution du back-end du site Vieux-Grimoire. Rappelons les besoins du projet :
1. Inscription à un espace utilisateur
2. Connection à son espace 3. Ajout de livres 4. Modification / Suppresion des livres 5. Attribuer une note à un livre 6. Retourner les 3 livres les mieux notés Architecture du back-end
NodeJs permet une
exécution côté serveur rapide et efficace. ExpressJS permet le création des routes et des middlewares de l'API. MongoDB est utilisé comme base de données NoSQL pour stocker les données. Mise en place de NodeJs et ExpressJs On crée un serveur web avec Express.js, un framework pour Node.js. Le serveur web se connecte à une base de données MongoDB, définit des routes pour les livres et les utilisateurs, et utilise le middleware `express.static()` pour servir des fichiers statiques. Le serveur web définit des en-têtes CORS pour éviter les erreurs de sécurité liées à l'accès à des ressources provenant d'un autre domaine. Intégration avec MongoDB L'intégration avec MongoDB est essentielle pour stocker et récupérer les données des livres. Nous utilisons Mongoose, une bibliothèque d'objets de modélisation pour NodeJs, qui facilite les opérations CRUD avec la base de données MongoDB.
Cela nous permet de stocker les
détails des livres, y compris les images de couverture et les informations, ainsi que les notes des utilisateurs, dans un "model" bien défini et utilisable par le front-end & le back- end. Création d'une API La création d'une API permet d'ajouter des livres et de les noter facilement, via le front-end du site. Nous utilisons ExpressJS pour définir les routes et les contrôleurs nécessaires. Les utilisateurs ont accès aux livres via les requêtes HTTP GET de l'API, qui renvoient un seul ou l'ensemble des livres. Les utilisateurs peuvent ajouter des livres ou les modifier en fournissant les informations requises via des requêtes HTTP POST. De plus, ils peuvent également noter les livres existants en utilisant des requêtes HTTP PUT. Le comportement de l'API est géré dans le dossier "controllers" du back- end. Sécurisation des données utilisateurs
La sécurisation des données utilisateurs est
primordiale. Nous utilisons des techniques telles que le hashage des mots de passe avec BCrypt et l'utilisation de jetons d'authentification avec JsonWebToken dans un middleware "Auth" pour garantir la confidentialité et l'intégrité des données.
On utilise également `dotenv` pour masquer les
informations sensibles telles que les identifiants de connexion à la base de données. Gestion de la notation des livres
Lorsque l'utilisateur est connecté à son
espace, nous gérons la notation des livres en mettant à jour la notation du livre en question et en actualisant la liste des 3 livres les mieux notés. Cette fonctionnalité permet aux utilisateurs de suivre et de contribuer aux évaluations des livres de manière efficace. Gestion des images et Green IT
Multer est utilisé pour capturer et compresser
les images envoyées depuis le front-end, afin de réduire leur poids et de promouvoir une approche plus écologique (Green IT). Cela permet d'améliorer les performances du site tout en minimisant l'impact environnemental. Conclusion L'évolution du back-end du site Vieux-Grimoire avec NodeJs, ExpressJS et MongoDB a permis d'améliorer la sécurité, la gestion des données utilisateurs et la création d'une API pour l'ajout de livres et leur notation. Cette évolution offre également une flexibilité et une scalabilité optimales pour répondre aux besoins en constante évolution, tout en souciant de l'impact écologique du site. Vieux-Grimoire est maintenant prêt à offrir une expérience utilisateur améliorée et sécurisée.