01 Project Synopsis
One-time Payment
- PDF & Word Formats
- Project Introduction & Objectives
- Problem Statement & Methodology
- System Architecture Diagram included
- Structured for Review & Customization
Get structured BCA Online Book Store Final Year Project Report Final Year Project Report and Documentation with project objectives, methodology, system design, diagrams, implementation details, testing and complete project explanations. Suitable as a learning, documentation and project-presentation resource for students working on related final year projects.
Need a customized report? Chat on WhatsAppSimple pricing. Instant access. Every package includes PDF & Word format.
01 Project Synopsis
One-time Payment
02 Detailed Project Report
One-time Payment
03 Customized Project Report
One-time Payment
04 Customized Plagiarism-Free Report
One-time Payment
Abstract
Table of Content
Introduction
Problem Statement
Existing System
Proposed System
Objectives
System Architecture
Major Functional Modules
Hardware Requirements
Software Requirements
Future Enhancement
Conclusion
References
Abstract
Table of Content
Chapter 1 — Introduction
Chapter 2 — Literature Review / System Study
Chapter 3 — System Analysis
Chapter 4 — System Design
Chapter 5 — System Implementation
Chapter 6 — Testing
Chapter 7 — Results and Discussion
Chapter 8 — Conclusion and Future Enhancements
Chapter 9 — References
Online Book Store is a complete MERN Stack e-commerce application designed for online book browsing, customer accounts, cart and wishlist management, Cash on Delivery orders, inventory management, reviews, enquiries, notifications, website content, and administrative reporting.
The platform provides a public storefront where customers can browse books, search the catalog, apply filters, view book details and reviews, add books to a cart or wishlist, manage multiple Indian delivery addresses, place Cash on Delivery (COD) orders, track order status, and review eligible purchased books. Administrators manage categories, authors, publishers, books, stock, customers, orders, COD payment status, reviews, enquiries, banners, website settings, and reports.
The order workflow includes stock-aware cart quantities, delivery-address selection, transactional stock deduction, order confirmation, packing, shipping, delivery, cancellation with stock restoration where applicable, COD payment tracking, notifications, and post-delivery customer reviews.
This project is suitable for B.Tech, M.Tech, BCA, MCA, BE, ME, BSc, MSc, Computer Science, IT, Web Development, E-Commerce, and MERN Stack students looking for a practical final year project, major project, or minor project based on an online bookstore, book management, e-commerce, inventory, order management, React, Node.js, Express, and MongoDB.
| Field | Value |
|---|---|
[email protected] |
|
| Password | Admin@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | User@123 |
The Admin Dashboard includes KPI information such as:
Total books
Total categories
Total publishers
Total customers
Order counts by status
Low-stock books
Out-of-stock books
Total non-cancelled sales
Recent orders
Admin can:
Create category
View categories
Search category
Edit category
Delete category
Upload category image
Activate/deactivate category
Admin can:
Create author
Search author
Edit author
Delete author
Upload author photo
Activate/deactivate author
Admin can:
Create publisher
Search publisher
Edit publisher
Delete publisher
Upload publisher logo
Activate/deactivate publisher
Admin can:
Create book
View books
Search books
Filter by category
Filter by publisher
Edit book
Delete book
Add ISBN
Add price
Add discount
Add stock
Upload cover image
Upload gallery images
Mark featured
Activate/deactivate
A book can have a cover image and up to 5 gallery images.
Admin can:
View stock
Identify low-stock books
Identify out-of-stock books
Add stock
Reduce stock
Set stock directly
Set low-stock threshold
Admin can:
View orders
Search by order number
Search by customer name
Search by customer email
Filter by status
Filter by date range
Open order details
Update order status
Update payment status
Add Admin note
Cancel eligible orders
Add cancellation reason
Admin can:
View COD payment records
Filter by payment status
Mark Pending
Mark Paid
This module tracks payment collection for Cash on Delivery orders.
Admin can:
Search customers by name
Search by email
Search by phone
View customer details
View customer orders
View customer reviews
View customer enquiries
Suspend customer
Reactivate customer
Inactive users are blocked from authentication.
Admin can:
View reviews
Search review text
Filter by rating
Filter by book
Hide review
Show review
Delete review
Admin can:
View enquiries
Search enquiries
Filter by status
Reply to customer
Mark Open
Mark Replied
Mark Closed
Delete enquiry
Replying to an enquiry also creates an in-app notification for the customer.
Admin can manage:
Store name
Homepage copy
Contact details
Address
Footer
About
FAQ
Terms
Privacy
Returns information
Store logo
Admin can:
Add banner
Upload banner image
Add title
Add subtitle
Add link
Update banner
Activate/deactivate banner
Delete banner
The Admin Reports module includes read-only analytical tables for:
Sales summary
Total order count
Revenue
Orders by day
Top books by quantity
Top books by revenue
Sales by category
Payment-status breakdown
Cancelled orders
Low-stock books
Out-of-stock books
Most ordered books
Date-range filtering is available where applicable.
The application includes:
JWT authentication
Bearer token
Separate customer/admin login endpoints
Role-based middleware
bcrypt password hashing
12 bcrypt rounds
Protected API routes
Protected React routes
Active/inactive account enforcement
API validation
CORS configuration
The current project does not implement forgot-password functionality.
Customers can register with:
Name
Phone number
Password
Confirm password
Validation includes:
Unique email
Minimum 6-character password
Password confirmation
API-side validation
Customer login
JWT authentication
Bearer token
Active/inactive account validation
Customer-only protected routes
Logout
Admin accounts blocked from Customer Login
Admins must use the separate Admin Login route.
The account dashboard includes:
Cart statistics
Wishlist statistics
Order statistics
Notification statistics
Recent orders
Quick account navigation
Customers can:
View profile
Update name
Update phone
Change password
Verify current password
The system supports multiple customer addresses.
Users can:
Add address
View addresses
Edit address
Delete address
Set default address
Select address during checkout
Customers can browse books with detailed catalog functionality.
Search and filters include:
Book title
ISBN
Author
Category
Publisher
Minimum price
Maximum price
In-stock only
Newest
Price ascending
Price descending
Pagination
A book detail page can include:
Book title
Cover image
Gallery
Author
Publisher
Category
ISBN
Price
Discount information
Stock
Description
Customer reviews
Add to cart
Add to wishlist
Customers can:
Add book to cart
View cart
Update quantity
Remove item
Clear complete cart
Cart quantities are stock-aware and cannot exceed available stock.
Customers can:
Add book to wishlist
View wishlist
Remove book
Move book from wishlist to cart
The checkout workflow includes:
Browse Books
↓
Add to Cart
↓
Review Cart
↓
Select Delivery Address
↓
Add Optional Order Note
↓
Place COD Order
↓
Stock Deducted
↓
Pending Order
The project currently supports Cash on Delivery only.
The system uses:
COD — Cash on Delivery
There is no Razorpay, Stripe, PayPal, or online card/UPI payment gateway.
At checkout:
Order is created
Payment status begins as Pending
Admin processes the order
COD is marked Paid when payment is collected
Cart
↓
Checkout
↓
Pending
↓
Confirmed
↓
Packed
↓
Shipped
↓
Delivered
↓
Customer Review
The documented order process includes Pending → Confirmed → Packed → Shipped → Delivered.
Customers can cancel eligible orders when status is:
Pending
Confirmed
When cancellation is accepted during applicable stages, stock is restored.
Admin can also cancel orders through the order-management workflow.
Customers can:
View all orders
Filter by order status
Search by order number
Open order details
View items
View delivery address
View order amount
View payment status
View timeline
Cancel eligible order
Re-add items to cart from order history
The system includes a complete stock-management workflow.
Features include:
Current stock quantity
Stock-aware cart quantities
Transactional stock deduction at checkout
Stock restoration after eligible cancellation
Low-stock threshold
Low-stock list
Out-of-stock list
Manual stock adjustment
Admin stock operations include:
Add quantity
Reduce quantity
Set quantity
Customers can create a review only after the related order is Delivered.
Features:
One review per user per book
Create review
View own reviews
Edit rating
Edit review text
Delete review
Review records are linked to:
User
Book
Order
Registered customers can:
Create enquiry
Add subject
Add message
View own enquiries
View enquiry status
Read Admin response
The application includes in-app customer notifications.
Users can:
View notifications
View unread count
Mark one notification read
Mark all read
Notifications can be generated when:
Order status changes
Order is cancelled
Admin replies to an enquiry
| Layer | Technology |
|---|---|
| Frontend | React 19 |
| Build Tool | Vite 8 |
| Routing | React Router 7 |
| Server Data | TanStack React Query 5 |
| HTTP Client | Axios |
| Forms | React Hook Form |
| Validation | Zod |
| Styling | Tailwind CSS 4 |
| Backend | Node.js |
| Framework | Express 5 |
| Database | MongoDB |
| ODM | Mongoose 9 |
| Authentication | JWT |
| Password Security | bcryptjs |
| API Validation | express-validator |
| File Upload | Multer 2 |
| Logging | Morgan |
| Architecture | MERN Stack |
cd "Online Book Store"
cd server
npm install
cd ../client
npm install
cd ../server
cp .env.example .env
Example:
PORT=5000
MONGODB_URI=mongodb://127.0.0.1:27017/online_book_store
JWT_SECRET=change_this_to_a_long_random_secret
JWT_EXPIRES_IN=7d
CLIENT_URL=http://localhost:5173
UPLOAD_MAX_SIZE=5242880
cd server
npm run seed
To reset seed transactional data:
npm run seed:reset
Seed data includes approximately:
24 books
18 orders across multiple statuses
Test customers
Reviews
Enquiries
Carts
Wishlists
Site settings
An inactive user
npm run dev
Backend API:
http://localhost:5000/api
Health check:
http://localhost:5000/api/health
cd client
npm run dev
Frontend:
http://localhost:5173
| Field | Value |
|---|---|
[email protected] |
|
| Password | Admin@123 |
| Field | Value |
|---|---|
[email protected] |
|
| Password | User@123 |