- Architecture n-tiers : Controller → Service → Repository → Model - Sécurité JWT complète (Spring Security 6 + JJWT 0.12) - 6 rôles : PDG, Vente, Achat, Production, Magasinier, RH - Entités JPA : User, Role, Article, Client, Fournisseur, PurchaseOrder, SalesOrder, DeliveryNote, ProductionOrder, BomLine, StockMovement - Services métier : StockService, PurchaseOrderService, SalesOrderService, ProductionOrderService - DataInitializer : création des rôles + admin par défaut au démarrage - Docker Compose : Spring Boot + MySQL 8 PFE Ali Guennari — SUARL Rayhan
22 lines
539 B
Docker
22 lines
539 B
Docker
# ==========================================
|
|
# Dockerfile — Rayhan ERP Backend
|
|
# Spring Boot 3 / Java 17
|
|
# ==========================================
|
|
|
|
# Étape 1 : Build avec Maven
|
|
FROM maven:3.9.6-eclipse-temurin-17 AS build
|
|
WORKDIR /app
|
|
COPY pom.xml .
|
|
RUN mvn dependency:go-offline -B
|
|
COPY src ./src
|
|
RUN mvn clean package -DskipTests -B
|
|
|
|
# Étape 2 : Image finale légère
|
|
FROM eclipse-temurin:17-jre-alpine
|
|
WORKDIR /app
|
|
COPY --from=build /app/target/erp-1.0.0-SNAPSHOT.jar app.jar
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|