Contactez-moi
Réalisé en formation

LibriGo

LibriGo est une application JavaFX permettant la gestion d'une bibliothèque. Les adhérents peuvent consulter le catalogue, emprunter et restituer des livres, tandis que les libraires gèrent les livres, les emprunts et les comptes des adhérents.

Java JavaFX MySQL
Logo LibriGo

À propos du projet

LibriGo est une application de gestion de bibliothèque développée en JavaFX avec une architecture MVC (Model-View-Controller) et une base de données MySQL. Elle a pour objectif de faciliter la consultation, l’emprunt et le suivi des livres par les adhérents d’une bibliothèque, tout en centralisant la gestion des informations dans une interface moderne et intuitive.

L’application offre aux adhérents la possibilité de :

  • Consulter le catalogue complet des livres disponibles, avec leurs auteurs, genres et dates de parution.
  • Vérifier la disponibilité en temps réel d’un ouvrage.
  • Emprunter et restituer facilement un livre via leur espace personnel.

En parallèle, l’application permet également libraires de la biblothèque de :

  • Créer des livres, auteurs et genres.
  • Gérer les livres (suppression ou les rendre indisponibles).
  • Suivre les emprunts en cours.
  • Gestion des comptes des adhérents.

LibriGo vise ainsi à simplifier les échanges entre les lecteurs et la bibliothèque, en rendant la gestion des emprunts plus fluide, transparente et agréable.

Une démo vidéo de l’application est disponible pour présenter l’interface et les principales fonctionnalités.




Schéma de la base de données


La base de données LibriGo repose sur une structure relationnelle pensée pour assurer la cohérence des informations entre livres, auteurs, genres, adhérents et emprunts.

ADHERENT
- id (INT) PRIMARY KEY
- numero_adherent (VARCHAR)
- email (VARCHAR)
- mot_de_passe (VARCHAR)
- nom (VARCHAR)
- prenom (VARCHAR)
- date_naissance (DATE)
- adresse (VARCHAR)
- cp (VARCHAR)
- ville (VARCHAR)
- role (TINYINT)

GENRE
- id (INT) PRIMARY KEY
- nom (VARCHAR)

AUTEUR
- id (INT) PRIMARY KEY
- nom (VARCHAR)
- prenom (VARCHAR)

LIVRE
- id (INT) PRIMARY KEY
- ISBN (VARCHAR)
- titre (VARCHAR)
- auteur_id (INT) FK → AUTEUR.id
- genre_id (INT) FK → GENRE.id
- date_parution (VARCHAR)
- description (TEXT)
- disponible (TINYINT)

RESERVATION
- id (INT) PRIMARY KEY
- adherent_id (INT) FK → ADHERENT.id
- livre_id (INT) FK → LIVRE.id
- date_reservation (DATE)
- date_retour (DATE)

Caractéristiques principales :

  • Un livre possède un auteur et un genre.
  • Chaque emprunt relie un adhérent et un livre.
  • Lorsque le compte d’un adhérent est supprimé, ses anciens emprunts sont conservés dans la base de données. Le champ adherent_id de la table RESERVATION est alors défini à NULL, afin de préserver l’historique tout en indiquant que l’utilisateur n’existe plus.

Technologies utilisées

Java

Java

JavaFX

JavaFX

MySQL

MySQL

Captures d'écran

Page de connexion

Page de connexion pour les adhérents.

Page d'inscription

Page d'inscription pour les nouveaux adhérents.

Mot de passe oublié

Page de récupération de mot de passe.

Tableau de bord

Tableau de bord principal de l'application.

Détail d'un livre

Interface de détail d'un livre.

Livres empruntés

Liste des livres empruntés par un adhérent.

Informations adhérent

Page des informations d'un adhérent.

Changement de mot de passe

Page de changement de mot de passe.

Ajout d'un livre, auteur ou genre

Interface d'ajout d'un livre, auteur ou genre.

Gestion des livres

Page de gestion des livres.

Gestion des emprunts

Page de gestion des emprunts.

Gestion des adhérents

Page de gestion des adhérents.