# Bibliothèque Numérique - Projet MERN
Application web complète de gestion de bibliothèque construite avec la stack MERN (MongoDB, Express, React, Node.js) avec intégration IA.
**Auteur :** Malak Amara
**Établissement :** École Polytechnique de Sousse
**Filière :** Data Science - Groupe 1
**Année :** 2025-2026
---
## Fonctionnalités
### Backend
- Authentification JWT sécurisée (Register, Login, Logout)
- CRUD complet pour les livres
- Gestion des catégories
- Système d'emprunts et retours
- Système d'avis et notes (1-5 étoiles)
- Intégration IA (Hugging Face) :
- Prédiction de catégorie
- Génération de résumés
- Suggestions de livres similaires
### Frontend
- Interface moderne avec Tailwind CSS
- Single Page Application (SPA)
- Routes protégées
- Responsive design
- Notifications avec SweetAlert2
---
## Modèles de Données (6 entités)
| Entité | Description |
|--------|-------------|
| **User** | Utilisateurs (email, password hashé) |
| **Profile** | Informations personnelles |
| **Book** | Livres du catalogue |
| **Category** | Catégories de livres |
| **Loan** | Emprunts |
| **Review** | Avis et notes |
### Relations
- **User ↔ Profile** : 1-to-1
- **User → Loans** : 1-to-Many
- **User → Reviews** : 1-to-Many
- **Book ↔ Category** : Many-to-Many
---
## Installation
### Prérequis
- Node.js (v18+)
- MongoDB (local ou Atlas)
- NPM
### Backend
```bash
cd backend
npm install
```
Créer un fichier `.env` :
```env
PORT=5000
MONGODB_URI=mongodb://localhost:27017/library_db
JWT_SECRET=votre_cle_secrete
HUGGINGFACE_API_KEY=votre_cle_huggingface
```
Lancer le serveur :
```bash
npm run dev
```
Le serveur sera sur `
localhost`
### Frontend
```bash
cd frontend
npm install
npm run dev
```
L'application sera sur `
localhost`
---
## API Endpoints
### Authentification (`/api/auth`)
| Méthode | Route | Description |
|---------|-------|-------------|
| POST | `/api/auth/register` | Inscription |
| POST | `/api/auth/login` | Connexion …