Ce projet est une application Spring Boot destinée à une pharmacie centrale qui permet à des dispensaires de commander des médicaments. Le backend permet la gestion des médicaments et des commandes pour les dispensaires.
Le modèle conceptuel de données (UML/JPA) est le suivant :
Spring Data JPA va générer automatiquement le modèle logique de données (relationnel) suivant, conformément aux annotations des classes-entités :
A partir de ce point de départ :
- Complétez la mise en oeuvre du modèle conceptuel de données en rajoutant les entités nécessaires (paquetage entity). Rajoutez des contraintes d'intégrité pertinentes sur les propriétés des entités en utilisant les annotations de validation JPA.
- Ajoutez les dépôts (Repository) nécessaires (paquetage dao). Complétez les interfaces en ajoutant une méthode permettant de trouver toutes les commandes saisies après une date donnée, et une méthode permettant de trouver tous les dispensaires dans une région donnée, cf. Extension des interfaces de dépôts.
- Ajoutez des enregistrements dans chaque table en complétant le fichier data.sql.
- Testez les méthodes de dépôts en complétant le fichier RepositoryCustomMethodsTest.java.
Les entités représentent les tables de base de données et leur mapping avec JPA.
- Medicament: Représente les médicaments avec leurs informations (nom, prix, stock, image URL).
- Categorie: Représente les catégories de médicaments.
Les dépôts gèrent l'accès aux entités via Spring Data JPA.
- MedicamentRepository: Interface gérant les requêtes sur les entités
Medicament.
- Java 21 LTS
- Spring Boot 3.5.3
- Spring Data JPA avec Hibernate 6.6.18
- Jakarta EE (Jakarta Persistence API 3.1.0)
- Lombok 1.18.42
- H2 Database 2.3.232 (développement)
- Java 21 LTS installé
- Maven 3.6+
mvn clean spring-boot:runL'application démarre sur le port 8080 : http://localhost:8080
L'application charge automatiquement des données de test au démarrage :
- 10 catégories de médicaments (Antalgiques, Anti-inflammatoires, Antibiotiques, etc.) et quelques médicaments.
Consultez la documentation officielle pour mieux comprendre les technologies utilisées dans ce projet :
- Spring Boot 3.x Documentation: Documentation complète de Spring Boot.
- Spring Data JPA: Documentation sur l'intégration de JPA avec Spring.
- Jakarta Persistence: Spécification Jakarta Persistence API 3.1.
- SpringDoc OpenAPI: Documentation pour SpringDoc OpenAPI.
Voici des tutoriels pour démarrer avec les technologies Spring utilisées dans ce projet :
- Accessing Data with JPA: Accès aux données avec Spring Data JPA.