â
ContrĂŽleurs
- (server/gateway/src/controllers/cards/card.controller.ts)
â
Providers
- (server/card-service/src/services/archetype.service.ts)
â
Modules
- (server/gateway/src/modules/app.module.ts)
â
Pipes
- (server/gateway/src/interfaces/user-deck-service/userDeck/user-deck.body.dto.ts)
â
Guard
- (server/gateway/src/services/guard/authorization.guard.ts)
â
Authentification JWT
- (server/auth-service/src/services/token.service.ts)
â
Gestion dâau moins deux rĂŽles (administrateur, utilisateur, ..)
- (user & admin)
â
SĂ©curisation des variables dâenvironnement
- (utilisation de SOPS => SOPS.md)
â
Utilisation dâune base de donnĂ©es NoSQL ou SQL
- (postgres)
â
Validation des donnĂ©es reçues depuis lâextĂ©rieur
- (class-validator)
â
Versionning de toutes les routes
- (server/gateway/src/controllers/test/test.controllers.ts)
â Sauvegarde de la base de donnĂ©es Ă intervalle rĂ©gulier
â Logging des erreurs
â
Compression des réponses
- (server/gateway/src/main.ts)
â
En-tĂȘtes de sĂ©curitĂ©
- (server/gateway/src/main.ts)
â
Gestion des CORS
- (server/gateway/src/main.ts)
â
Rate-limit
- (server/gateway/src/modules/app.module.ts)
â
Base de données conteneurisée
- (docker-compose.yml)
â
Serveur Nest.js conteneurisé
- (docker-compose.yml)
â
Code commenté
â
Pas de type any
â
Projet documenté
â
Livrable sans variables sensibles
â
Historique Git avec participation de lâensemble des membres du groupe
â
Tests unitaires
â
Front-end pour tester lâAPI
- (app/client)
â GraphQL
â
Microservices
- (server/card-service)
â
OpenAPI (Swagger)
â Librairie NPM
â
Intégration continue
â
Déploiement continu avec hébergement public
â
Gestion des websockets
â
Adapter les guards pour fonctionner en http & ws
A la racine du projet lancer la commande suivante pour installer les dépendances de l'API Gateway et des microservices:
make copy-env
make start (petite pause âïž)
Cette commande permet de charger les données de bdd
make feed-db
Pour lancer les tests d'un service Remplacer le nom du service par le service que vous voulez tester
make local-test service=user-service-node
Lors du register, un mail est envoyé avec un lien pour valider le compte Le mailer local est disponible ici : http://localhost:9025
Le lien vers le swagger est disponible ici : localhost:8000/api/#/
Un adminer est disponible pour accéder à la base de données de chaque service est est disponible ici : http://localhost:9000
Identifiants par défaut :
system: PostgreSQL
server: "nom-du-service"-service-postgres
- (ex: user-service-postgres)
username: postgres
password: postgres