Vinci Hotel Manager est une application BI conçue pour explorer et démontrer les capacités maximales de AG Chart et AG Grid en utilisant une base de données contenant plus de 12 000 données pour générer nos graphiques et tableaux tout en maintenant un site web rapide, efficace et dynamique.
Le frontend a été conçu pour explorer les capacités de Tailwindcss afin de construire une interface moderne, dynamique, esthétique et responsive.
git clone https://github.com/Edufalcao14/Projet-Web-3-Hotel-APP.git
cd api
npm i
npm start
cd ..
cd vinci-hotel
npm i
npm run dev
Notre application repose sur une architecture headless, assurant une distinction nette entre le front-end et le back-end, lesquels interagissent par d'appels API
Notre API utilise une architecture MVC (Model-View-Controller)
db/ : Contient les fichiers d'initialisation SQL ( PostgresSQL ) utilisés pour générer notre base de données.
models/ : Contient les fichiers JavaScript pour la gestion des données et des opérations CRUD (Create, Read, Update, Delete) sur notre base de données.
routes/ : Contient les fichiers JavaScript pour la gestion des routes de l'application.
requests/ : Contient les fichiers HTTPS pour tester les routes de notre application.
app.js : Point d'entrée de l'application. Configure le serveur Express, les middlewares ainsi que les routes.
Notre frontend utilise une architecture MPA hybride combinant SSR, SSG, et CSR, selon les besoins de chaque page ou composant.
app/ : Contient toutes les pages de l'application. Avec Next.js, ce dossier est également utilisé pour générer automatiquement les routes associées, facilitant ainsi l'organisation et la navigation dans l'application.
components/ : Regroupe tous les composants réutilisables de l'application, notamment les graphiques AG Charts. Ce dossier centralise les éléments de l'interface utilisateur (UI) pour en faciliter la gestion et leur réutilisation dans le projet.
routes/ : Contient les fichiers JavaScript pour la gestion des routes de l'application.
public/ : Contient toutes les images et icons directement dans l'application.
services/api/ : Regroupe toutes les fonctions utilisées pour effectuer les requêtes (fetch) vers notre API et récupérer les données. Ce dossier centralise la logique de communication avec l'API, rendant le code plus structuré et maintenable.