Le but de ce projet est de développer un système qui permet la gestion de boutiques, de produits et de catégories associées à ces produits.
- Informations générales
- Arborescence de l'archive
- Technologies
- Utilisation
- Documentation de l'API
Ce README permet de documenter le projet.
Le code source du client et celui du serveur contiennent également un README : README du client, README du serveur.
Le GIT du client se trouve à l'adresse https://github.com/manonguillard/shop-client et le GIT du serveur à l'adresse https://github.com/manonguillard/shop-server.
L'archive contient les fichiers et répertoires suivants :
- le fichier CR-projet-FS.pdf : le compte rendu du projet
- Le fichier README.md : le fichier de documentation du projet
- Le répertoire /shop-client : le code source du client
- Le répertoire /shop-server : le code source du serveur
- Le fichier docker-compose.yml : le fichier docker-compose qui permet de lancer la configuration docker du projet
Voici la liste des technologies utilisées dans le projet :
- React pour le front-end
- Spring Boot pour le back-end
- PostgreSQL pour la base de données
Pour la base de données, j'ai fait le choix d'utiliser PostgreSQL. En effet, je voulais utiliser une base de données SQL car les relations entre les données dans ce projet sont importantes et que les schémas des données sont stables. Mon choix s'est alors porté sur PostgreSQL car ce SGBD est performant et propose de nombreux types comme timezone-aware timestamps ou ranges que MySQL ne propose pas. Ces types pourront être utiles pour d'éventuelles évolutions du projet.
Le projet est entièrement dockerisé. Il suffit d'ouvrir un terminal à la racine de l'archive et d'exécuter la commande docker compose up
.
Le front-end de l'application se trouve ensuite à l'adresse http://localhost:4200 et le back-end à l'adresse http://localhost:8080.
Une documentation swagger de l'API est disponible.