cinq services, un cluster Kubernetes.
- Architecture
- Microservices
- Front-end
- Next.js, TypeScript
- Déploiement
- Docker, Kubernetes
- Mon rôle
- Service de paiement
Front-end Next.js
API Gateway Express
Utilisateurs Node.js · Docker
Catalogue Node.js · Docker
Emprunts Node.js · Docker
Paiements Node.js · Docker
PostgreSQL Prisma
Le contexte
Une application de bibliothèque : catalogue de livres, comptes utilisateurs, emprunts et paiements, avec un espace d’administration.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- Docker
- Kubernetes
Le problème
Chaque fonction doit pouvoir évoluer et être déployée seule. Le sujet demandait aussi une livraison complète : configuration Kubernetes et documentation d’installation, d’utilisation et de maintenance.
/ Ma contribution /
Dans l’équipe, j’étais chargé du service de paiement.
- Service Node.js / ExpressUn microservice indépendant, avec son propre conteneur Docker.
- Modèle des transactionsSchéma Prisma sur PostgreSQL : utilisateur, livre, montant, date, et statut en attente, réussi ou échoué.
- Paiement en ligneChaque transaction garde la référence de sa session de paiement Stripe.
- DécouplageLe service ne référence les utilisateurs et les livres que par identifiant, sans dépendre de leurs bases.
/ Choix techniques /
Découper pour déployer
Chaque service a sa responsabilité et son conteneur. Kubernetes les orchestre derrière une API Gateway, et la configuration passe par des secrets et des ConfigMaps plutôt que par le code.
/ Voir le projet /