BookHive is a full-stack MERN application that connects readers with free books
via the Gutendex API.
Users can browse and search for books, download them in different formats, and
leave reviews with ratings.
The purpose of making this project was to practice everything I had learned by completing the mandatory portion of the Fullstack open course [https://fullstackopen.com/en].
Live Demo: [https://bookhive-edu.vercel.app/]
-
🔐 Authentication & Authorization
- User login/signup with JWT.
- Role-based access (admin & regular users).
-
📖 Book Discovery
- Integrated with the Gutendex API.
- Search and filter books.
- Direct download links for multiple formats.
-
⭐ Community Reviews
- Star ratings & text reviews.
- Each review is linked to both the user and the book.
-
🎨 Responsive UI
- Built with React, MUI, and custom theming.
- Dark/light mode support.
Frontend
- React (Vite)
- Redux Toolkit (state management)
- Material UI (styling)
Backend
- Node.js + Express
- MongoDB + Mongoose
- JWT for authentication
- REST API architecture
Other
.
├── backend/ # Express server + MongoDB models
│ ├── src/
│ ├── dist/ # Built frontend production code served by Express
│ └── ...
├── frontend/ # React app (Vite + MUI)
│ └── src/
│ └── ...
git clone https://github.com/Zakerous76/BookHive.git
cd BookHive# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm installCreate a .env file in backend/ with:
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
PORT=5000# Backend (from /backend)
npm run dev
# Frontend (from /frontend)
npm run dev- The frontend is built with Vite (
npm run buildin/frontend). - The output is copied into
/backend/dist, by running (npm run build:ui) check/backend/package.json. - Express serves the static frontend files and also provides the REST API.
- (In production, The backend (with bundled frontend) is deployed as a single Render web service.)
- AI-based book recommendations
- Better caching for Gutendex results.
- Social login (Google, GitHub).
This project is licensed under the MIT License.
- Fullstackopen curriculum for the foundation.
- Gutendex API for book data.
- Render for deployment.