Skip to content

Projet Architecture Microservice (Rest, Graphql, gRpc, kafka)

Notifications You must be signed in to change notification settings

Herman1010/ProjetSOA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gestionnaire de Clients et d'Articles

License


Description

Le Gestionnaire de Clients et d'Articles est une application backend développée pour la gestion efficace des clients et des articles, basée sur les microservices. Les technologies principales utilisées incluent gRPC, GraphQL, Kafka, Express.js et MongoDB. L'application comporte deux microservices distincts : un pour la gestion des clients et un autre pour la gestion des articles. Ces microservices communiquent avec l'API Gateway via gRPC, permettant aux clients d'émettre des requêtes via GraphQL.


Fonctionnalités

  • Microservices : Deux microservices distincts sont implémentés pour la gestion des clients et des articles.
  • gRPC Communication : Les microservices communiquent avec l'API Gateway via gRPC pour une communication efficace.
  • GraphQL API : Les clients peuvent émettre des requêtes via GraphQL pour interagir avec les microservices.
  • Gestion des Clients : Ajout, suppression, mise à jour et récupération des informations sur les clients.
  • Gestion des Articles : Ajout, suppression, mise à jour et récupération des informations sur les articles.
  • Kafka Integration : Kafka est utilisé pour envoyer des alertes au microservice client lorsqu'un nouvel article est ajouté à la base de données.
  • Schémas Proto : Des schémas proto ont été définis pour chaque microservice, facilitant la définition des interfaces de communication.

Technologies Utilisées

  • gRPC : Pour la communication entre les microservices et l'API Gateway.
  • GraphQL : Pour fournir une API flexible et puissante aux clients.
  • Kafka : Pour la gestion des événements et l'envoi d'alertes aux clients.
  • Express.js : Pour la création d'API RESTful et l'intégration avec GraphQL.
  • MongoDB : Pour le stockage persistant des données clients et articles.

Installation

  1. Clonez ce dépôt sur votre machine locale.
  2. Assurez-vous d'avoir Node.js et npm installés sur votre machine.
  3. Installez les dépendances en exécutant la commande suivante :
    npm install express @apollo/server @grpc/grpc-js @grpc/proto-loader body-parser cors kafkajs
  4. Configurez les variables d'environnement nécessaires, telles que les URL de connexion à MongoDB et Kafka.

Utilisation

  1. Démarrez les microservices en exécutant les commandes suivantes :
    node articleMicroservice.js
    node clientMicroservice.js
  2. Démarrez l'API Gateway en exécutant la commande suivante :
    node apiGateway.js
  3. L'API est maintenant accessible à l'adresse suivante : http://localhost:3000. Vous pouvez utiliser un outil comme GraphiQL Postman pour interagir avec l'API GraphQL.

Contribuer

Les contributions sont les bienvenues ! Si vous souhaitez contribuer à ce projet, veuillez ouvrir une issue pour discuter des changements que vous souhaitez apporter. Assurez-vous de suivre les bonnes pratiques de développement et de respecter le code de conduite.


Licence

Ce projet est sous licence MIT. Veuillez consulter le fichier LICENSE pour plus de détails.


About

Projet Architecture Microservice (Rest, Graphql, gRpc, kafka)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published