Application de gestion de bibliothèque avec authentification JWT.
- 🔐 S'inscrire et se connecter
- 📖 Voir la liste des livres
- 📚 Emprunter et retourner des livres
- 👤 Modifier son profil
- 👑 Ajouter des livres
- 🗑️ Supprimer des livres
Backend : Node.js, Express, MongoDB, Mongoose, JWT, Bcrypt
Frontend : React, React Router, Axios
bash git clone https://github.com/ton-username/hackathon-bibliotheque.git cd hackathon-bibliotheque
bash cd backend npm install Créer un fichier .env :
env JWT_SECRET=super_secret_key_12345 PORT=5000 MONGODB_URI=mongodb://localhost:27017/library Lancer les seeds :
bash node seedAdmin.js node seedBooks.js Démarrer :
bash npm run dev
bash cd ../frontend npm install npm start
Frontend : http://localhost:3000
Backend : http://localhost:5000
🔑 Comptes Rôle Email Mot de passe Admin [email protected] admin123 User Crée ton propre compte - 📡 Routes API Méthode Endpoint Description Accès POST /api/auth/signup Inscription Public POST /api/auth/login Connexion Public GET /api/books Liste des livres User + Admin POST /api/books Ajouter un livre Admin DELETE /api/books/:id Supprimer un livre Admin POST /api/borrows Emprunter User + Admin PUT /api/borrows/return/:id Retourner User + Admin GET /api/borrows/me Mes emprunts User + Admin GET /api/profile Voir profil User + Admin PUT /api/profile Modifier profil User + Admin 📁 Structure text hackathon-bibliotheque/ ├── backend/ │ ├── models/ │ ├── routes/ │ ├── middleware/ │ ├── server.js │ ├── seedAdmin.js │ └── seedBooks.js └── frontend/ ├── src/ │ ├── components/ │ ├── pages/ │ ├── App.jsx │ └── index.js └── public/ 🐛 Dépannage MongoDB ne démarre pas :
bash mongod Les boutons admin n'apparaissent pas : Connecte-toi avec [email protected] / admin123 Vérifie que le backend tourne sur http://localhost:5000