Application web de gestion et de consultation de livres avec une partie publique, un espace utilisateur et un espace administrateur.
Le projet est compose de trois briques principales :
frontend/: application React + Vite + Tailwind CSSbackend/: API REST Node.js + Express + MongoDBdocker-compose.yml: orchestration simple de MongoDB, du backend et du frontend
L'application permet notamment :
- l'inscription et la connexion des utilisateurs
- la consultation du catalogue public
- l'affichage du detail d'un livre
- la gestion des favoris, commentaires, likes et dislikes
- l'administration des livres, categories et utilisateurs
- l'import de livres via CSV
biblio/
|-- backend/
|-- frontend/
|-- docker-compose.yml
|-- .dockerignore
|-- .env.example
- React
- React Router
- Axios
- Tailwind CSS
- Vite
- Node.js
- Express
- MongoDB / Mongoose
- JWT
- Multer
- Node.js 20+ ou 22+
- npm
- MongoDB local actif sur
mongodb://127.0.0.1:27017
Depuis backend/ :
npm install
npm startLe serveur demarre par defaut sur http://localhost:5000.
Depuis frontend/ :
npm install
npm run devL'application Vite demarre en general sur http://localhost:5173.
Depuis la racine du projet :
docker compose up --buildServices exposes :
- frontend :
http://localhost:5173 - backend :
http://localhost:5000 - mongo :
mongodb://localhost:27017
Les variables backend actuellement utilisees sont :
- `PORT`
- `JWT_SECRET`
- `JWT_EXPIRES_IN`
- `MONGO_URI`
- Documentation generale backend : backend/README.md
- Documentation generale frontend : frontend/README.md
- L'API frontend pointe actuellement vers
http://localhost:5000/apidansfrontend/src/services/api.js. - Les fichiers uploades par le backend sont servis depuis
/uploads. - Le projet contient un espace admin protege ainsi qu'un espace utilisateur protege via
ProtectedRoute.