Projet Défi Java Junior – Application Gestion de Restaurant
Introduction :
Développer une application console Java pour gérer les clients, plats, commandes et paiements d’un restaurant, en ut
Architecture recommandée :
src/
■■■ entity/
■ ■■■ [Link]
■ ■■■ [Link]
■ ■■■ [Link]
■ ■■■ [Link]
■■■ dao/
■ ■■■ [Link]
■ ■■■ [Link]
■ ■■■ [Link]
■ ■■■ [Link]
■■■ service/
■ ■■■ [Link]
■ ■■■ [Link]
■■■ factory/
■ ■■■ [Link]
■■■ util/
■ ■■■ [Link]
■■■ [Link]
Fonctionnalités :
- Ajouter, afficher, supprimer, modifier un client et un plat
- Passer une commande avec plusieurs plats pour un client
- Effectuer un paiement pour une commande
- Afficher et trier les commandes par date et prix via Streams
- Compter les commandes par client via Map et groupingBy
- Gestion d’exceptions personnalisées
Bonus :
- Rapport des commandes
- Remise automatique si total élevé
- Export CSV ou formaté console
Design Patterns à intégrer :
- Singleton (HibernateUtil)
- Factory (création Client / Commande)
- Repository (DAO organisés)
- DTO (CommandeDTO)
- Builder (optionnel pour Commande)
Technologies :
- Java 17+
- Hibernate 6+
- H2 ou SQLite
- Maven ou Gradle
Objectifs pédagogiques :
- Maîtriser POO et relations entités avec Hibernate
- Manipuler Collections, Streams et Lambda
- Respecter SOLID