The problem
An online bookstore web app brings selling books — browsing, buying, packing and tracking — into one browser-based system instead of spreadsheets, phone messages and manual stock counts. This project builds that system as a full-stack MERN application: a React storefront where customers search and filter a book catalog by title, author or genre, a cart that survives login, a checkout flow that creates a tracked order, and an admin dashboard for books, stock, orders and sales. JWT separates customer and admin roles, and a REST API backed by MongoDB stores books, users, carts and orders. The demo is seeded with 12 real published titles across 7 genres with Indian retail pricing, with cart arithmetic verified in the working demo — 2 copies of The Alchemist at ₹299 plus 1 copy of Atomic Habits at ₹499 totals ₹1,097 with free delivery above ₹499. The build suits a student demonstrating a complete e-commerce workflow rather than a single screen.
Searches the catalog by title, author or genre.
Follow the working sequence
How it works
A customer journey in this bookstore runs from browsing to delivery in one connected chain. The visitor opens the catalog, searches by title or author or filters by one of 7 genres, and adds books to a cart that is stored against their account, so the selection survives a logout. At checkout they enter a delivery address, pick a payment method and place the order, which the server records with a unique order ID, line items and a Placed status. The order then moves through Packed, Shipped and Delivered as the admin advances it from the dashboard, and the customer watches each change on the My Orders page. Behind the scenes the admin also edits book details and stock counts, and the dashboard recomputes total sales and flags titles with 3 or fewer copies left. Every step is a REST API call between the React frontend, the Express and Node.js backend, and MongoDB.
- The visitor browses the catalog, searches by title or author, or filters by one of 7 genres.
- Books are added to the cart, which is saved per user in MongoDB and restored on the next login.
- In the cart the customer changes quantities and sees the live subtotal, delivery charge and grand total update immediately.
- At checkout the customer enters a delivery address and payment method; the server creates the order with a unique order ID, sets its status to Placed, and reduces stock for each item.
- The customer tracks the order on the My Orders page through Placed, Packed, Shipped and Delivered.
- The admin advances order status from the dashboard and edits book details and stock counts.
- The dashboard recomputes total sales and the low-stock list from the live order and inventory data.
Tech stack:
- React (frontend)
- Node.js with Express (backend)
- MongoDB with Mongoose
- JWT authentication
- REST API
- HTML5 · CSS3 · JavaScript
- Git
| Parameter | Value |
|---|---|
| Seeded catalog size | 12 titles (design choice) |
| Genre filters | 7 genres |
| Order lifecycle stages | 4 stages: Placed → Packed → Shipped → Delivered |
| Free-delivery threshold | ₹499 (design choice) |
| Delivery charge below threshold | ₹49 (design choice) |
| Cart total verified in demo | ₹1,097 for 2 × ₹299 + 1 × ₹499 (measured in the working demo) |
| Low-stock alert threshold | 3 copies or fewer (design choice) |
| Low-stock titles in seeded data | 2 titles (counted in the working demo) |
| Checkout form fields | 5 fields: name, phone, address, payment method, delivery slot |
| User roles | 2 roles: customer and admin |
| Catalog load time | Design target: under 1 second on a local network |
Project features
The bookstore's strongest capabilities are the ones a real shop needs every day: a searchable catalog, a cart that remembers what a customer picked, an order lifecycle a buyer can follow, and an admin dashboard that turns sales and stock into decisions. The catalog supports text search plus genre filters across 12 seeded titles, so a visitor finds a book by title, author or genre in seconds. The cart supports quantity changes and live totals with a free-delivery rule above ₹499. Every order moves through four visible stages — Placed, Packed, Shipped and Delivered — and the admin can advance an order with one click. The dashboard totals sales, counts orders and flags the 2 low-stock titles in the seeded data so nothing sells out silently. Together these four capabilities cover the full journey from browsing a shelf to handing a parcel to a courier.
- [Searchable book catalog] Text search by title or author plus 7 genre filters across 12 real published titles, each shown with price, MRP, genre and live stock status.
- [Persistent per-user cart] Add, remove and change quantities; the cart is stored against the logged-in user in MongoDB, so selections survive logout and login.
- [Checkout with order confirmation] Delivery address and payment choice produce a confirmed order with a unique order ID, item list and total, shown immediately on screen.
- [Four-stage order tracking] Every order moves Placed → Packed → Shipped → Delivered, and the customer follows each stage on the My Orders page.
- [Admin dashboard] Total sales, order count, catalog size and low-stock count at a glance, with orders and inventory tables below.
- [Inventory control] The admin edits book details and stock counts; titles with 3 or fewer copies are flagged as low stock with a reorder prompt.
- [JWT role-based authentication] Separate customer and admin roles — customers shop and track orders, admins manage books, stock and order status.
What is included
- Complete MERN source code (React frontend, Express and Node.js backend, MongoDB models)
- Seeded catalog of 12 real book titles with prices, genres and stock levels
- Working single-file demo of the catalog, cart, checkout and admin dashboard
- Project report PDF (background, architecture, API design, methodology, outcomes)
- PPT presentation for final review
- Viva Q&A preparation document (MERN stack, JWT, REST design, cart and order flow)
Limitations & prerequisites
- No payment gateway is integrated in the base build — checkout supports Cash on Delivery and demo UPI or net-banking options; a live gateway is an optional add-on.
- The demo ships with 12 seeded titles; a larger catalog needs the admin to add books or a bulk import, which is listed as customization.
- Stock is reduced at order placement, so two customers ordering the last copy at the same moment can oversell by 1 copy — a stock-reservation lock is future scope.
- Email and SMS order notifications are not included in the base build.
- The admin dashboard covers books, orders and sales totals; it does not include discount codes, coupons or tax reports.
- Search covers title, author and genre only — full-text search across descriptions is not implemented.
Frequently Asked Questions
Is this project suitable for a final-year project?
Yes — for Computer Science, IT and Web Development programs. It demonstrates a complete full-stack workflow: React frontend, REST API design, MongoDB data modelling, JWT authentication, cart and order state management, and an admin dashboard, all of which give a review panel plenty of concrete design decisions to discuss.
What is the main technology used?
The MERN stack — MongoDB for data, Express and Node.js for the REST API, and React for the storefront and admin dashboard. JWT handles authentication with separate customer and admin roles, and Mongoose models the books, users, carts and orders.
Is a payment gateway integrated?
No, not in the base build. Checkout offers Cash on Delivery plus demo UPI and net-banking choices so the full order flow works end to end. A live payment gateway such as Razorpay or Stripe can be added as a customization, since it needs merchant credentials and production approval.
Can it be hosted online?
Yes. The React frontend can be hosted on a static host and the Express API with MongoDB on a cloud service such as Render or Railway with MongoDB Atlas. The project includes setup notes for local and hosted runs, including environment variables for the database connection and JWT secret.
Can the catalog and features be changed?
Yes. The admin can add, edit and remove books and stock from the dashboard, and the build can be extended with wishlists, reviews, discount codes, a recommendation section or a mobile app, depending on the team's requirements and timeline for the order.
How is the cart total calculated?
The cart sums price times quantity for each line item, then adds a ₹49 delivery charge unless the subtotal is ₹499 or more, in which case delivery is free. The demo verifies this arithmetic — 2 copies of The Alchemist at ₹299 plus 1 copy of Atomic Habits at ₹499 totals ₹1,097 with free delivery.
Components & software requirements
- React (frontend)
- Node.js with Express (backend)
- MongoDB with Mongoose
- JWT authentication
- REST API
- HTML5 · CSS3 · JavaScript
- Git
Delivery information
Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.
Support terms
Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.
Download free synopsis (PDF)
Enter your name and WhatsApp number — the synopsis PDF downloads immediately. We may send occasional project updates on WhatsApp; no spam.