API Gateway - CPU Project

Architecture microservices complète avec authentification, gestion des utilisateurs, permissions, adhésions et formations. Point d'entrée unique pour tous les services.

Fonctionnalités Principales

Authentification Sécurisée

Système d'authentification JWT avec gestion des sessions utilisateurs, OTP et permissions granulaires.

Gestion des Utilisateurs

CRUD complet pour les utilisateurs avec gestion des rôles, statuts et vérification d'email.

Système de Permissions

Gestion fine des permissions par utilisateur avec contrôle d'accès granulaire.

Gestion des Adhésions

Système complet d'adhésions avec forfaits, membres et sous-membres.

Gestion des Formations

CRUD complet pour les formations avec authentification inter-services.

Documentation API

Documentation interactive Swagger/OpenAPI pour faciliter l'intégration et les tests.

Services Disponibles

API Gateway

Port 7003 (HTTP)

Point d'entrée unique pour toutes les requêtes HTTP. Routage vers les microservices.

HTTP Swagger
Auth Service

Port 7001 (TCP)

Gestion des utilisateurs, authentification, permissions, OTP, sessions et adhésions.

TCP MySQL
Formation Service

Port 7002 (TCP)

Gestion des formations avec authentification via Auth Service.

TCP MySQL

Modules Auth Service

Users

Gestion des utilisateurs, rôles et sessions

Permissions

Gestion des permissions

OTP

Codes OTP pour authentification

Adhésions

Gestion des adhésions et forfaits

Architecture & Technologies

Stack Technologique

  • Framework : NestJS avec TypeScript
  • Base de données : MySQL avec TypeORM
  • Communication : TCP Microservices
  • Authentification : JWT avec Passport
  • Validation : class-validator et class-transformer
  • Documentation : Swagger/OpenAPI
  • Gestion de processus : PM2

Informations API

Version: 1.0.0

Framework: NestJS

Base de données: MySQL/TypeORM

Documentation: Swagger/OpenAPI

Authentification: JWT

Architecture: Microservices

Endpoints Principaux

GET /api/auth/users - Liste des utilisateurs

POST /api/auth/login - Connexion

GET /api/auth/permissions - Liste des permissions

POST /api/auth/otps - Créer un code OTP

GET /api/auth/adhesions - Liste des adhésions

GET /api/formation - Liste des formations

GET /api/docs - Documentation Swagger