← Tous les projets

ÉTUDE DE CAS · MICROSERVICES · PROJET DE MASTER

Wonders : une plateforme de voyage en 6 microservices

Projet de fin de Master réalisé à 6 : planifier un voyage de A à Z, de la découverte d'un pays à la réservation et au partage d'itinéraires.

RÔLE
Front Angular et authentification
PÉRIODE
Mai 2024 – Sept. 2025
ÉQUIPE
6 développeurs
STACK
Angular 18, Node.js, Express, TypeScript, PostgreSQL, Docker, GitLab CI
Page d'accueil
Choix du guide de voyage
Questionnaire de préférences
Résultats du questionnaire
Planification du voyage : étape 1
Planification du voyage : étape 2
Planification du voyage : étape 3
Planification du voyage : étape 4
Planification du voyage : étape 5
Forum de la communauté
Discussion dans le forum
Page d'accueil

Page d'accueil1 / 11

Le contexte

Wonders aide un voyageur à préparer son séjour de bout en bout : découvrir un pays, trouver des activités, rechercher vols et hôtels, sauvegarder son itinéraire et échanger avec la communauté. Le projet a été mené à 6, avec une architecture microservices et un workflow d'équipe encadré par la CI et les merge requests.

Ce que j'ai fait

  • Développement de nombreux composants du front Angular 18 et refonte UX/UI
  • Sauvegarde des voyages : l'utilisateur enregistre et retrouve ses itinéraires
  • Intégration de Google Maps, des pages hôtels et du chat
  • Signalement de bugs par les utilisateurs depuis l'interface
  • Authentification : gestion de l'expiration des tokens JWT et middleware de vérification utilisateur
  • Sécurisation des variables d'environnement dans les images Docker

L'architecture

  • 6 microservices Node.js / TypeScript indépendants (users, countries, activities, blog, quiz, fly-hotel), chacun avec sa base PostgreSQL
  • Descriptions de pays générées par OpenAI puis mises en cache 29 jours, pour limiter coûts et latence
  • CI GitLab par service : lint, tests d'API Bruno sur une vraie base, puis build, à chaque merge request
  • Docker Compose en local, Caddy en production avec un sous-domaine et TLS par service

Le défi technique

Développer une plateforme de voyage complète avec une équipe de 6 développeurs, en utilisant une architecture microservices.

LA SOLUTION

Mise en place de microservices Node.js / TypeScript, intégration front Angular 18, CI GitLab et Docker pour le déploiement.

Ce que j'en retiens

Travail en équipe sur une architecture microservices, intégration front-end et back-end, gestion de la CI/CD et déploiement avec Docker.