Logo Lanfrica

malakamara/Amara_Malak_ProjetMERN

Record type:

project
Creator:
mal
Host:
# 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 …