Backend du projet AMPUNV – Ancien Meuble Pour Une Nouvelle Vie, une plateforme de vente et de revalorisation de meubles anciens.
Ce backend est développé en Java / Spring Boot, utilise Flyway pour la gestion des migrations et une base PostgreSQL hébergée sur Neon.
C'est un projet d'un mois en solo dans le cadre de ma formation à ADA TECH SCHOOL.
Il reste quelques éléments à corriger et à adapter, mais c'est un projet dont je suis plutôt fier !
- Présentation
- Stack Technique
- Architecture
- Prérequis
- Installation
- Configuration
- Migrations Flyway
- Lancement du projet
- Structure du projet
- Endpoints API (exemple)
AMPUNV est une plateforme permettant :
- La gestion et la mise en vente de meubles anciens
- La valorisation de meubles restaurés
- La consultation et l’achat de meubles uniques
- Une gestion sécurisée des données via PostgreSQL hébergé sur Neon
Ce dépôt contient uniquement la partie backend.
- Java 17+
- Spring Boot 3
- Spring Web
- Spring Data JPA
- Spring Validation
- PostgreSQL (Neon.tech)
- Flyway
- Maven
- Lombok
L’application suit une architecture simple et claire inspirée du modèle MVC :
src/main/java/com/ampunv/
├── controller/
├── service/
├── repository/
├── model/
└── dto/
- Java 17+
- Maven 3.8+
- Un compte Neon.tech
- Un IDE (IntelliJ recommandé)
-
Cloner le projet
git clone https://github.com/DwoDwoS/ampunv_back.git cd ampunv -
Installer les dépendances
mvn clean install
Créer un fichier src/main/resources/application.properties :
spring:
datasource:
url: jdbc:postgresql://<HOST>.neon.tech/<DATABASE>?sslmode=require
username: <USERNAME>
password: <PASSWORD>
jpa:
hibernate:
ddl-auto: validate
properties:
hibernate:
format_sql: true
show-sql: true
flyway:
enabled: true
baseline-on-migrate: true-
Créer un projet sur Neon.tech
-
Aller dans Connection Details
-
Copier :
-
Host
-
Database name
-
User
-
Password
-
URL JDBC
Attention : ne jamais versionner vos identifiants. Utilisez un .env ou des variables d’environnement pour le déploiement.
Les migrations SQL doivent être placées dans :
src/main/resources/db/migration/
Exemple de fichier :
V1__create_meuble_table.sqlFlyway exécute automatiquement les scripts dans l'ordre croissant. Il est nécessaire de faire attention au nommage, toujours V puis __ (il en faut deux et pas 1 seul).
Démarrer l'application :
mvn spring-boot:runOu depuis votre IDE.
Il vous faudra forker ampunv_front également :
AMPUNV/
├── src/
│ ├── main/
│ │ ├── java/com/ampunv/
│ │ └── resources/
│ │ └── db/migration/
│ └── test/
├── pom.xml
└── README.md
Meubles
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /api/meubles |
Liste des meubles |
| GET | /api/meubles/{id} |
Détails d’un meuble |
| POST | /api/meubles |
Ajout d’un meuble |
| PUT | /api/meubles/{id} |
Mise à jour d’un meuble |
| DELETE | /api/meubles/{id} |
Suppression d’un meuble |
Les endpoints réels peuvent varier selon votre implémentation.