A full-featured book review and management application built with the MERN stack (MongoDB
, Express
, React
, Node.js
). Users can browse books, leave reviews with star ratings, and manage their favorites. Admins have extended capabilities for adding, editing, and deleting books, as well as managing user data and access.
Live Link: ReviewNest
Password | |
---|---|
john.doe@example.com | password123 |
Password | |
---|---|
madhawaawishka@gmail.com | 12345678 |
-
User Authentication:
- Secure user registration and login system.
- Bcrypt for password hashing.
-
Book Listing with Reviews & Ratings:
- Browse and search for books.
- Leave comprehensive reviews with star ratings.
- Read and gain insights from community reviews.
-
User Profile Pages:
- Personalized profiles to track activity.
- Manage and curate a list of favorite books.
-
User Roles & Permissions:
- Differentiation between user and admin roles.
- Admin capabilities to add, update, and delete book listings.
- Manage user data and user roles (excluding a master admin).
-
Frontend:
- React.js:For building the interactive user interface.
- Tailwind CSS:For responsive and utility-first CSS styling.
- Shadcn UI library:For building clean and modern UI components.
- React Hook Form:For managing form data efficiently.
-
Backend:
- Node.js & Express.js:For building a RESTful API and handling HTTP requests.
- MongoDB & Mongoose:For database management and object modeling.
- CORS: For handling cross-origin requests between the frontend and backend
- Bcrypt:For hashing passwords and ensuring secure storage.
-
Other Dependencies:
- Axios:For making HTTP requests from the frontend to the backend.
- Cloudinary:For optional image uploads (e.g., book cover images).
- Node.js
- MongoDB
You can use use Mongo Atlas URL instead of local MongoDB
git clone https://github.com/madhawaawishka/ReviewNest.git
cd ReviewNest
VITE_BACKEND_URL="http://localhost:8000"
cd backend
npm install
cd ..
cd frontend
npm install
Make sure you are in frontend
directory
npm run dev
Make sure you are in backend
directory
node index.js
Now open localhost:5173
on your browser