Skip to content

kittanh/fullstack-book

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BiblioTech

Description générale

Au sein de l'unité d'études Fullstack, nous avons développé une application offrant aux utilisateurs la possibilité de rechercher des livres, de les intégrer à leur liste de lecture personnelle, et d'explorer les lectures partagées par d'autres utilisateurs. Notre architecture utilise des conteneurs Docker pour garantir une mise en œuvre efficace et cohérente. Ces conteneurs contiennent les composants suivants :

  • Base de données (BDD) : PostgreSQL, assurant une gestion robuste des données.

  • Keycloak : Un système d'authentification sécurisé, facilitant la gestion des accès à l'application.

  • API : FastAPI, fournissant une interface rapide et performante pour la communication avec la base de données.

  • Application Frontend : Développée avec le framework Dash, offrant une expérience utilisateur interactive pour la recherche, l'ajout de livres à la liste de lecture, et la visualisation des lectures des autres utilisateurs.

Données utilisées

Dans le cadre de notre projet Fullstack, nous avons utilisé un jeu de données provenant de Kaggle, accessible ici. Ce fichier CSV renferme des informations détaillées sur les livres que nous explorons au sein de notre application. Il est à noter que lors de l'exploration initiale du jeu de données, nous avons rencontré des défis liés à la présence de virgules au sein de certaines lignes du fichier CSV. Afin de garantir une intégration correcte de ces données dans notre application, nous avons pris l'initiative de modifier le fichier.

La description complète de chaque colonne du dataset est disponible sur Kaggle.

Installation

  1. Clonez le dépôt :
$ git clone https://github.com/ton-utilisateur/ton-projet.git
  1. Accédez au répertoire du projet :
$ cd chemin/de/votre/projet
  1. Construisez et lancez les conteneurs Docker de l'API, keycloak, la base de données, et du front-end :
$ docker-compose build (si première fois)
$ docker-compose up
  1. Pour une raison que nous n'avons pas indentifié, il est nécessaire de se connecter une première fois, puis de relancer les containers (docker-compose up) pour que les appels à l'API via le FRONT fonctionnent correctement.

Authentification

Pour accèder à l'application il faut premièrement se connecter. Il suffit d'appuyer sur le lien CONNEXION à l'adresse localhost:8050. Si vous êtes déjà connecté, vous passez directement à l'application, sinon vous êtes redirigé vers un formulaire de Keycloak. Si vous n'avez pas de compte créé en un (le prénom, nom et email ne sont pas utilisés mais nécessaire à la création d'un compte) et vous êtes redirigé vers l'application.

Utilisation

L'utilisation de l'application se divise en trois tableaux distincts :

1. Tableau Principal (Tous les Livres) :

  • Affiche l'ensemble des livres disponibles.
  • Permet une recherche aisée par noms ou auteurs.
  • Permet de trier les livres par notes
  • C'est ici que vous sélectionnez les livres que vous souhaitez ajouter à votre liste de lecture.

2. Tableau de la liste de lecture personnelle :

  • Contient la liste des livres que vous avez ajoutés personnellement.
  • Vous permet de gérer votre collection de livres choisis.

3. Tableau avec Modal DBC (Liste de lecture des utilisateurs) :

  • Associé à un modal DBC (Dialogue Box Component) pour la sélection d'un utilisateur.
  • Vous permet de visualiser la liste de lecture d'un autre utilisateur en sélectionnant son nom dans le modal.

Cette structuration en trois tableaux permet la constitution de votre liste de lecture personnelle, et l'exploration des lectures d'autres utilisateurs.

Vous pouvez accéder à l'API, au FRONT et à KEYCLOAK avec les liens suivants:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors