Ceci est le dépôt associé au projet Développez le nouveau système d’information de la bibliothèque d’une grande ville sur OpenClassrooms.
- Apache Maven 3.5.2
- Bootstrap 4.0.0
- Docker 17.12.0-ce-mac49
- GlassFish 5.0
- JDK8 version 162
- PostgreSQL 10.1
- Spring Batch 4.0.0.RELEASE
- Spring Data 2.0.2.RELEASE
- Spring Framework 5.0.2.RELEASE
- Struts2 2.5.14.1
library-service
: module contenant le web-servicelibrary-repository
: module contenant la persistance et le pattern DAOlibrary-entity
: module contenant les entités de la solution
library-webapp
: module contenant les vues et ses contrôleurslibrary-batch
: module contenant un batch qui envoie un mail de relancelibrary-business
: module contenant la logique métierlibrary-repository
: module contenant le pattern DAO, appelle le service weblibrary-client
: module contenant les entités et classes auto-générées
Si jamais vous souhaitez compiler vous même l'application web ou le batch, à la machine hôte, celle qui va héberger les conteneurs Docker du projet :
- attribuer une adresse IP LAN fixe de votre choix
- créer un alias
web-service
dans le fichier/etc/hosts
à cet IP
Dans le dépôt, créer un fichier datasource.properties
dans le répertoire docker/web-service/app/
avec les paramètres suivants :
library.datasource.driver=org.postgresql.Driver
library.datasource.url=jdbc:postgresql://database:5432/DB_NAME
library.datasource.username=USER_NAME
library.datasource.password=USER_PASSWORD
Puis, créer un fichier batch.properties
dans le répertoire docker/batch/app/
avec les paramètres suivants :
mail.host=smtp.gmail.com
mail.port=587
mail.username=USER_NAME
mail.password=USER_PASSWORD
batch.cron=CRON_VALUE
Adapter dans le fichier docker-compose.yml
du dossier docker
les variables d'environnements de création de la base de données :
environment:
- POSTGRES_DB=DB_NAME
- POSTGRES_USER=USER_NAME
- POSTGRES_PASSWORD=USER_PASSWORD
Se placer dans le dossier docker
du dépôt du projet et exécuter les commandes suivantes :
docker-compose -p library up -d database
pour déployer la base de donnéesdocker-compose -p library up -d web-service
pour déployer le service webdocker-compose -p library up -d web-application
pour déployer l'application webdocker build -t nboueme/library-batch batch
pour créer l'image de déploiement du batchdocker-compose -p library up -d batch
pour déployer le batch
Les identifiants d'accès aux serveurs GlassFish sont admin
avec pour mot de passe glassfish
.
L'application web est désormais disponible via l'URL suivante : http://localhost/