Misa102 / WEB_APPLICATION_MASTER

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

!!!ATTENTION INFORMATION IMPORTANTE : Pour des raisons qu'on arrive pas a resoudre le site web marche bien seulemnt si vous utiliser la 4G et pas le WIFI.

SERVER

Authentification et Autorisation :

  • Utiliser JWT pour générer des tokens lors de l'authentification (auth.controller.js).
  • Les rôles définis (user, admin) dans ROLES (models/index.js).
  • Les tokens JWT contiennent des informations sur l'utilisateur et ses rôles (auth.controller.js).

Contrôleurs pour les utilisateurs, les likes de publications et les publications :

  • auth.controller.js : Gère l'enregistrement et la connexion des utilisateurs.
  • user.controller.js : Contient des exemples de routes accessibles par différents rôles.
  • post-like.controller.js : Gère l'ajout et la suppression de likes sur des publications.
  • post.controller.js : Gère la récupération de toutes les publications et l'ajout de nouvelles publications.

Middleware pour la gestion des rôles :

  • authJwt.js : Vérifie si un utilisateur a le rôle d'administrateur avant d'autoriser l'accès à certaines routes.

Routes :

  • auth.routes.js : Définit les routes pour l'inscription et la connexion.
  • user.router.js : Définit les routes pour les différentes ressources en fonction des rôles.
  • post-like.routers.js : Définit les routes pour l'ajout et la suppression de likes sur des publications.
  • post.routers.js : Définit les routes pour la récupération de toutes les publications et l'ajout de nouvelles publications.

Modèles MongoDB :

  • Les modèles pour les utilisateurs (user.model.js), les rôles (authority.model.js), les publications (post.model.js), et les likes de publications (post-like.model.js).

Utilisation de bcrypt pour le hachage des mots de passe :

  • Le hachage des mots de passe lors de l'enregistrement des utilisateurs (auth.controller.js).

Vérification de doublons et validation des rôles lors de l'enregistrement :

  • verifySignUp.js : Middleware pour vérifier les doublons d'username ou d'email, ainsi que la validation des rôles lors de l'enregistrement des utilisateurs.

Gestion des likes de publications :

  • post-like.controller.js : Implémente des fonctionnalités pour ajouter et supprimer des likes, mettant à jour le nombre total de likes sur une publication.

Gestion des publications :

  • post.controller.js : Gère l'enregistrement de nouvelles publications et la récupération de toutes les publications.

About


Languages

Language:JavaScript 93.4%Language:CSS 4.9%Language:HTML 1.7%