Dans le cadre de notre cours d'AMT, nous réalisons un site d'e-commerce de vente de tapis (😉). Avant de contribuer, nous vous recommandons de commencer par lire le Wiki (si vous êtes assistant, cliquez ici) qui vous donnera une bonne vision du produit, de comment contribuer ainsi que des détails technologiques et techniques utiles à une bonne collaboration 🔥
- Le dossier
src
contient le code source du projet. - Le dossier
docs
contient tous les éléments utiles à la documentation (fichiers sources, images). - Le dossier
docker
contient les images Docker. Chaque image différente est dans un sous-dossier (exemple: une image Dockercouchebase
serait dansdocker/docker-couchebase
).
Cette section a pour but de mettre en place un environnement de développement similaire à celui de l'équipe de développement. Pour en savoir plus sur la stack technologique, référez-vous à la section choix technologique du Wiki !
- Java : 1.8
- Maven : 3.8.*
- Docker engine : 20.10.*
- Docker compose
- NOTE: docker compose est inclus dans les installation de l'engine sur Windows et MacOS.
- IntelliJ IDEA
- Cloner le repository.
git clone git@github.com:EricB2A/PRO_AMT.git
- Ouvrir le projet avec IntelliJ
- Lancer le conteneur Docker
cd docker/docker-mysql && touch silkyRoad.sql && docker compose up
- Lancer Spring boot et le Tomcat Server (^R).
- Allez à l'adresse localhost:8080 et vous voilà prêt à contribuer 🆒.
Afin de pouvoir utiliser notre application en local, il faut ajouter plusieurs variables d'environnement :
- AUTH_SERVICE_SECRET
- AUTH_SERVICE_IP
- STRIPE_API_KEY
Pour ajouter des variables d'environnement, aller sous Run->Edit Configuration
Dans la configuration Spring Boot correspondant à l'application, sous Environment -> environment variables, cliquez sur l'icône de bloc note et ajoutez les deux variables ci-dessus avec leur valeurs respectives
Notre application utilise le SGBD relationnel mySQL
, que nous avons Dockerisé via l'image mysql.
Par défaut, le conteneur Docker sera accessible depuis l'hôte sur le port 3307
avec le mot de passe root
. Les données sont stockées dans le fichier silkyRoad.sql
.
Vous pouvez bien évidemment configurer ces paramètres en modifiant le docker compose.
Pour accéder à l'instance mySQL (en ayant un container up & running) :
docker exec -it docker-mysql_db_1 bash
mysql -uroot -proot
L'ORM Hibernate va faire un mapping 1-1 entre ce(s) classe(s) et ses(leurs) attributs et une table éponyme et ses champs associés en base de données.
Veuillez noter que les méthodes de types setter
et getter
ne sont pas présents sur ce schéma afin de simplifier la lisibilité de ce dernier.
Documentation du login se trouve ici.
Un service d'authentification a été implémenté et est disponible dans ce repo
Notre application intègre un moyen de paiement via Stripe. Les composants les plus pertinents de l'implémentation se trouvent dans :
Verbe HTTP | Route | Contrôleur |
---|---|---|
GET | /accueil |
HomeController |
GET | /admin/articles |
ArticleController |
GET | /admin/articles/add |
ArticleController |
POST | /admin/articles/add/post |
ArticleController |
POST | /admin/articles/edit/post |
ArticleController |
GET | /admin/articles/edit/{id} |
ArticleController |
GET | /admin/articles/delete/{id} |
ArticleController |
GET | /login |
LoginController |
POST | /login |
LoginController |
POST | /signup |
LoginController |
GET | /signup |
LoginController |
POST | /logout |
LoginController |
GET | /cart |
CartController |
PUT | /cart/{id} |
CartController |
POST | /cart/{id} |
CartController |
DELETE | /cart/{id} |
CartController |
GET | /payment/command |
PayementController |
POST | /payment/pay |
PayementController |
POST | /payment/create-payment-intent |
PayementController |
Développeur | Github |
---|---|
Eric Bousbaa | EricB2A |
Ilias Goujgali | Double-i |
Noah Fusi | noahfusi |
Dalia Maillefer | AliceThunderWind |
Stéfan Teofanovic | OvichHeigVD |
Vous êtes les bienvenus à nous rejoindre sur Discord où nous organisons des sessions de travail hebdomadaires.
Bonne contribution 😎