Coder Social home page Coder Social logo

big_city_library.rest_server's Introduction

Big City Library : REST Server

✨ Présentation :

Ce projet a pour but la création d’un ensemble d’outils numériques pour les différents acteurs des bibliothèques d'une ville.

  1. Un Back-end : RESTFull Serveur (Projet développé ici GitHub)
  2. Un Front-end : RESTFull Client Public (GitHub)
  3. Un envoi automatique de mails : BATCH (GitHub)

IMPORTANT: Ce projet fait partie du cursus de formation "Développeur J2EE" de OpenClassroom. Les informations qu'il comporte ne doivent pas être utilisées dans le cadre d'une pratique réelle. Les informations présentées ici ne servent qu'à illustrer le projet pour le rendre le plus proche possible de la réalité.

📱 Application :

L'application est un serveur de type RESTFull développé en Java EE sur l'IDE Visual Studio Code. Cette application utilise le framework Spring et les dépendences MapStruct & Lombok. Elle est packagée via Maven dans un fichier .war pour être déployée sur un serveur compatible comme : Apache TomEE v9.0.

Aperçu de l'application :

Aperçu de l'application

Architecture de l'application :

Architecture de l'application

🗃 Base de données :

La base de données est développée avec MySQL v8.0. Elle est intégrée à l'application via des classes JPA et l'ORM Hibernate de Spring. Et l'application présente ou recoit les données via des DTOs.

Diagramme de l'architecture de la base de données :

Diagramme de l'architecture de la base de données

🛠 Déploiement :

Pour déployer correctement l'application veuillez suivre ces étapes :

1. Base de données :

La création de la base de données se fait grâce à l'utilisation d'un des script SQL qui se trouve dans le dossier db_dumps :

  • CreateWithData : Création de la base de données avec toutes les tables et un jeu de données de démonstration.

  • Create : Création de la base de données avec toutes les tables vierges de données.

2. Données de connexion à la BDD :

Lorsque la base de données est prête. Pour faire la connexion entre la BDD et l'application il faut changer le fichier application-dev_EXEMPLE.properties du module rest_server_controller en le renommant application-dev.properties et changer les données suivante en fonction des attributs de votre serveur de BDD:

  • spring.datasource.url : Mettre l'URL du serveur de BDD.
  • spring.datasource.username : Mettre le nom d'utilisateur du serveur de BDD.
  • spring.datasource.password : Mettre le mot de passe du serveur de BDD.

3. Données d'envoi de mail :

Pour que l'application puisse envoyer les mails de relance aux utilisateurs qui sont en retards pour le retour d'un prêt , il faut changer les données de connexion à la boite mail.

Pour cela il faut modifier le fichier application-dev_EXEMPLE.properties du module rest_server_controller :

  • Renommer le fichier application-dev_EXEMPLE.properties en application-dev.properties ou créer une copie avec ce nom.

  • Modifier les données de spring.mail.username, spring.mail.password avec les bonnes valeurs pour une adresse Gmail. Sinon regarder la documentation de votre serveur mail et adapter le fichier de configuration.

4. Packaging Maven :

Pour compiler et packager l'application dans un fichier .war, il faut utiliser le goal install de Maven avec la commande mvn install. Le fichier se créé alors dans le dossier target du module rest_server_controller.

On peut aussi utiliser le goal deploy mais cela demande de configurer le fichier POM, ce que je ne développerai pas ici.

5. Serveur d'application :

La dernière étape est de mettre en ligne le serveur Apache TomEE v9.0.

Lorsque ce dernier est en ligne, dans l'interface du serveur Apache cliquer sur le bouton Manager App. Après s'être identifier trouver la partie Deployer > Fichier WAR à déployer et y déployer le fichier .war précédemment généré à l'étape 4.

Bravo ! L'application web est maintenant 100% fonctionnelle !

big_city_library.rest_server's People

Contributors

coyote-31 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.