Spring Boot 4 Java 17 PostgreSQL Docker CI/CD

FoodExpress

API REST de commande et livraison de nourriture. Architecture event-driven, pipeline CI/CD complet, déployé en production sur Render + Neon.

▶ Swagger UI ⌥ Code source
Vérification de l'API…

Stack

Technologies utilisées

Backend
Java 17
Spring Boot 4
Spring Data JPA
MapStruct · Lombok
Base de données
PostgreSQL 18 (prod)
H2 (dev)
Flyway migrations
Tests
JUnit 5
Mockito
MockMvc · AssertJ
Infra
Docker multi-stage
Docker Compose
GitHub Actions
GHCR
Hébergement
Render (Web Service)
Neon (Serverless PG)
UptimeRobot
Observabilité
Spring Boot Actuator
SpringDoc OpenAPI
Swagger UI

API

Endpoints principaux

GET/api/restaurantsListe paginée des restaurants
POST/api/restaurantsCréation d'un restaurant
PATCH/api/restaurants/{id}/deactivateDésactivation
GET/api/restaurants/{id}Détail d'un restaurant
POST/api/ordersPassage d'une commande
PATCH/api/orders/{id}/statusMise à jour du statut (state machine)
GET/api/orders/customer/{customerId}Historique client
POST/api/menu-itemsAjout d'un item au menu
GET/api/menu-items/restaurant/{restaurantId}Menu d'un restaurant
POST/api/customersInscription client

Documentation interactive complète → Swagger UI


Architecture

Choix techniques

Push / PRci.yml
Maven BuildTests + couverture
Docker multi-stagepublish.yml
GHCR:latest + :sha
RenderAuto-deploy + health check