Skip to content

Full-featured MERN Bookstore app with authentication, cart, orders, admin dashboard, and PDF invoices. Live on Render & Vercel.

License

Notifications You must be signed in to change notification settings

vippium/Bookstore-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

project-image

👾 Features

  • 🔐 User authentication with JWT (Login, Register, Logout)
  • 📚 Browse books with search, filter, pagination
  • 🛒 Add to Cart / Buy Now (guest + logged in)
  • 📦 Checkout with PDF invoice & email
  • 💬 Reviews & ratings system
  • ❤️ Wishlist management
  • 📊 Admin dashboard (books, users, orders)
  • 🧑‍💻 Profile page with edit, password reset, delete
  • 🌈 Fully animated UI (fade, swipe, hover, modal transitions)
  • 📬 Email integration via nodemailer
  • 📄 Deployment on Render (Backend) & Vercel (Frontend)

📁 Project Structure

└── Bookstore-Management-System/
    ├── LICENSE
    ├── README.md
    ├── bookstore-backend
    │   ├── .env.example
    │   ├── config
    │   ├── controllers
    │   ├── middleware
    │   ├── models
    │   ├── package-lock.json
    │   ├── package.json
    │   ├── routes
    │   ├── server.js
    │   └── utils
    ├── bookstore-frontend
    │   ├── .gitignore
    │   ├── README.md
    │   ├── eslint.config.js
    │   ├── index.html
    │   ├── package-lock.json
    │   ├── package.json
    │   ├── postcss.config.js
    │   ├── public
    │   ├── src
    │   ├── tailwind.config.js
    │   └── vite.config.js
    ├── postman
    │   ├── bookstore-api.postman_collection.json
    └── package-lock.json

🚀 Getting Started

☑️ Prerequisites

Before getting started with Bookstore-Management-System, ensure your runtime environment meets the following requirements:

  • Node.js
  • MongoDB Atlas database
  • Render account (for backend deployment)
  • Vercel account (for frontend deployment

🚀 Usage

To run the Bookstore Management System locally, follow the steps below for both frontend and backend:

🔧 Backend Setup

cd bookstore-backend
npm install
npm start dev

🎨 Frontend Setup

cd bookstore-frontend
npm install
npm run dev

📌 Project Roadmap

  • ✅ Authentication (Login / Register)
  • ✅ Book management (CRUD)
  • ✅ Cart (guest + user)
  • ✅ Wishlist for Logged-In users.
  • ✅ Checkout + Email support.
  • ✅ Reviews & Ratings.
  • ✅ Admin panel (only for Admins).
  • ✅ Filtering, Pagination.
  • ✅ Full animations & polish.
  • ✅ Deployment
  • ✅ README & Documentation.

🙌 Acknowledgments

I've used these platforms and libraries in my project :

  • MongoDB Atlas – Hosted NoSQL database for scalable and flexible data storage.
  • Render – Cloud platform used for deploying the backend Node.js server.
  • Vercel – Optimized deployment platform for hosting the frontend React application.
  • PDFKit – Enables dynamic generation of PDF invoices after successful orders.
  • TailwindCSS – Utility-first CSS framework for building clean, responsive user interfaces.
  • React Hot Toast – Lightweight toast notifications for instant user feedback.
  • Framer Motion – Animations and transitions for smooth UI interactions.
  • Lucide Icons – Elegant and consistent icon set used across the app.
  • JWT (JSON Web Token) – Secure authentication and user session management.
  • Express.js – Backend framework used for building RESTful APIs.

📬 API Testing (Postman)

You can find the Postman collection for testing all backend API endpoints in the postman/ directory.

Import it in Postman for ready-to-use request sets.


🎗 License

This project is protected under the MIT License. For more details, refer to the LICENSE file.

About

Full-featured MERN Bookstore app with authentication, cart, orders, admin dashboard, and PDF invoices. Live on Render & Vercel.

Resources

License

Stars

Watchers

Forks

Languages