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.
- 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.
- 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.
- Clonez ce dépôt sur votre machine locale.
- Assurez-vous d'avoir Node.js et npm installés sur votre machine.
- 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 - Configurez les variables d'environnement nécessaires, telles que les URL de connexion à MongoDB et Kafka.
- Démarrez les microservices en exécutant les commandes suivantes :
node articleMicroservice.js
node clientMicroservice.js - Démarrez l'API Gateway en exécutant la commande suivante :
node apiGateway.js - 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.
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.
Ce projet est sous licence MIT. Veuillez consulter le fichier LICENSE pour plus de détails.