docker
slim
mysql
html
css
javascript
sass
php
tailwind
Le projet NRV (Nancy Rock Vibrations, version leader price de NJP Nancy Jazz Pulsations) est un projet ayant pout but de produire une application web de billetterie. Nous avons donc une partie front mais aussi une partie back. La consigne du projet répartissait plusieurs points : API NRV, API Authentification, Back Office, Frontend avec SASS
Nous étions 5 étudiants de RA-DWM sur ce projet :
Pour le backend il était implicitement demandé de le réaliser avec les frameworks vues en cours, ici j'ai donc fait mon backend en Php avec le framework Slim. Dans le projet il y a 2 API, une d'authentification et l'autre qui gère la billetterie. Le programme utilise pour aller avec les API, 2 bases de données distinctes fonctionnant toutes les 2 sous MySQL. Certaines actions de la billetterie nécessitent la connexion de l'utilisateur, l'API de la billetterie transmet les requêtes qui gèrent l'authentification à l'api qui le gère en utilisant Guzzle, un client HTTP en PHP. La partie backoffice est réservée aux utilisateurs administrateurs qu'on peut distinguer dans la base de données par une colonne à valeur booléenne.
La partie Back Office consiste à pouvoir regarder les statistiques d'une soirée, de voir une jauge avec le nombre de places réservées en comparaison avec le nombre de places libres. Je me suis permis de ne pas me limiter à l'utilisation de SASS étant donné que ce n'était pas la partie principale du frontend. J'ai utilisé Tailwind CSS avec Twig afin de modéliser une jauge plus ou moins remplie en fonction des données récupérées suite à un appel à l'API.
La partie front n'exploite aucun framework, uniquement un système d'arborescence avec des dossiers afin de pouvoir changer de page en fonction de l'URL. Les fichiers CSS sont des fichiers ex-fichiers SASS compilés afin de respecter la consigne et de nous faciliter l'écriture du CSS. Contrairement au backoffice, ici on utilise la fonction fetch de javascript afin de pouvoir faire des appels à l'API.