QuickMart is a complete full-stack e-commerce platform that connects buyers and sellers through an intuitive, feature-rich online marketplace. Built with Angular 17 for dynamic frontend experiences and Spring Boot 3 for robust backend APIs, QuickMart delivers a seamless shopping experience with powerful administrative controls.
"To provide a reliable, secure, and user-friendly e-commerce solution that empowers customers to shop conveniently while giving administrators complete control over their online store."
Icon
Feature
Description
π
Authentication
Secure JWT-based login and registration
ποΈ
Product Catalog
Browse with search, filters, and sorting
π
Product Details
High-quality images and detailed info
π
Shopping Cart
Add/remove items, update quantities
π
Wishlist
Save favorite products
π³
Multiple Payments
COD, UPI, Credit/Debit cards
π¦
Order Tracking
Real-time tracking with timeline
β
Reviews & Ratings
Submit feedback and rate products
π€
Profile Management
Update personal information
π±
Responsive Design
Works on all devices
π Administrator Features
Icon
Feature
Description
π
Analytics Dashboard
Real-time statistics and insights
β
Product Management
Complete CRUD operations
π¦
Order Management
Full order lifecycle management
π
Shipping Integration
Add courier and tracking details
π’
Announcements
Publish updates for customers
π¬
Feedback Management
View and respond to feedback
π₯
User Management
Manage registered users
π¦ Order Status Workflow
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β π PENDING βββ β
CONFIRMED βββ π SHIPPED βββ π DELIVERED β
β β β β
β β β β
β β CANCELLED β CANCELLED β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
text
π³ Payment Methods Supported
Icon
Method
Status
π°
Cash on Delivery
β
Available
π±
UPI (Google Pay, PhonePe, Paytm, BHIM)
β
Available
π³
Credit/Debit Card (Visa, Mastercard, RuPay)
β
Available
π¦
Net Banking
π Coming Soon
Technology
Version
Purpose
Angular
17.x
Frontend framework
TypeScript
5.x
Programming language
Angular Material
17.x
UI components
RxJS
7.x
State management
CSS3
-
Styling & animations
Technology
Version
Purpose
Spring Boot
3.2.x
REST API framework
Spring Data JPA
3.2.x
Database operations
MySQL
8.0
Relational database
Hibernate
6.x
ORM mapping
Maven
3.9+
Dependency management
Tool
Version
Purpose
Node.js
v18 or higher
Angular runtime
Angular CLI
v17
Angular CLI tool
Java JDK
17+
Spring Boot runtime
MySQL
8.0+
Database
Maven
3.9+
Build tool
π₯ Step 1: Clone Repository
git clone https://github.com/yourusername/quickmart.git
cd quickmart
βοΈ Step 2: Backend Setup
bash
# Navigate to backend
cd backend
# Create database
mysql -u root -p
CREATE DATABASE quickmart_db;
EXIT;
π Configure application.properties:
properties
# Server
server.port=8080
# Database
spring.datasource.url=jdbc:mysql://localhost:3306/quickmart_db
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
# CORS
spring.web.cors.allowed-origins=http://localhost:4200
spring.web.cors.allowed-methods=GET,POST,PUT,DELETE,PATCH,OPTIONS
bash
# Build and run
mvn clean install
mvn spring-boot:run
β
Backend: http://localhost:8080
π¨ Step 3: Frontend Setup
bash
# Navigate to frontend
cd ../frontend
# Install dependencies
npm install
# Run application
ng serve -o
β
Frontend: http://localhost:4200
Method
Endpoint
Description
Access
POST
/api/auth/register
User Registration
Public
POST
/api/auth/login
User Login
Public
GET
/api/auth/all
Get All Users
Admin
DELETE
/api/auth/{id}
Delete User
Admin
Method
Endpoint
Description
Access
GET
/api/user/items
Get All Products
Public
GET
/api/user/items/{id}
Get Product By ID
Public
POST
/api/admin/products/add
Add Product
Admin
PUT
/api/admin/products/{id}
Update Product
Admin
DELETE
/api/admin/products/{id}
Delete Product
Admin
Method
Endpoint
Description
Access
GET
/api/sales
Get All Orders
Admin
GET
/api/sales/buyer/{buyer}
Get User Orders
User
POST
/api/sales
Create Order
User
PATCH
/api/sales/admin/status/{id}
Update Order Status
Admin
PATCH
/api/sales/admin/shipping/{id}
Add Shipping Details
Admin
Method
Endpoint
Description
Access
GET
/api/announcements
Get All Announcements
Public
POST
/api/admin/announcements
Create Announcement
Admin
DELETE
/api/admin/announcements/{id}
Delete Announcement
Admin
Method
Endpoint
Description
Access
GET
/api/feedback
Get All Feedback
Admin
POST
/api/feedback
Submit Feedback
User
DELETE
/api/admin/feedback/{id}
Delete Feedback
Admin
Step
Action
1
Register / Login
2
Browse Products (Search, Filter, Sort)
3
View Product Details
4
Add to Cart
5
Add to Wishlist (Optional)
6
Proceed to Checkout
7
Enter Shipping Address
8
Select Payment Method
9
Place Order
10
Track Order Status
11
Receive Updates
12
Submit Feedback
Step
Action
1
Login with Admin Credentials
2
View Dashboard Analytics
3
Manage Products (CRUD)
4
Process Incoming Orders
5
Confirm Pending Orders
6
Add Courier & Tracking Details
7
Mark Orders as Shipped
8
Mark Orders as Delivered
9
Publish Announcements
10
Review Customer Feedback
Method
Credentials
UPI
test@okhdfcbank
Card Number
4111 1111 1111 1111
Expiry
12/25
CVV
123
quickmart/
β
βββ frontend/ # Angular App
β βββ src/app/
β β βββ components/ # Reusable Components
β β βββ models/ # Data Interfaces
β β βββ pages/
β β β βββ admin/ # Admin Modules
β β β βββ user/ # User Modules
β β βββ services/ # API Services
β βββ package.json
β
βββ backend/ # Spring Boot Application
β βββ src/main/java/
β β βββ com/marketplace/E_commerce/
β β βββ controllers/ # REST Controllers
β β βββ models/ # Entity Classes
β β βββ repositories/ # Database Operations
β β βββ services/ # Business Logic
β βββ pom.xml
β
βββ database/
βββ schema.sql
π Troubleshooting Guide
Problem
Solution
π CORS Error
Add @CrossOrigin(origins = "http://localhost:4200")
π Database Connection Failed
Verify MySQL Service Is Running
πΌοΈ Images Not Loading
Check uploads/ Directory
π Login Failed
Clear Browser Local Storage
π Port Already In Use
Change server.port
π¦ npm Installation Errors
Delete node_modules and Reinstall
# Check Backend Health
curl http://localhost:8080/actuator/health
# Check Database
mysql -u root -p -e " SELECT 1"
# Check Port (Windows)
netstat -an | findstr :8080
# Check Port (Linux/Mac)
lsof -i :8080
# Clear Angular Cache
rm -rf node_modules/.cache
npm cache clean --force
Feature
Status
π§ Email Notifications
π Planned
π± SMS Alerts
π Planned
π Multi-language Support
π Planned
πΈ Review Images
π Planned
π·οΈ Discount Coupons
π Planned
π PDF Invoices
π Planned
π Social Login
π Planned
π€ AI Recommendations
π Planned
π¬ Live Chat Support
π Planned
π€ Contributing Guidelines
Step
Action
1
Fork the Repository
2
Create a Feature Branch
3
Commit Your Changes
4
Push Changes to GitHub
5
Open a Pull Request
β
Follow Angular Style Guide
β
Write Meaningful Commit Messages
β
Add Comments for Complex Logic
β
Test Before Submitting
β
Update Documentation
MIT License
Copyright (c) 2026 QuickMart
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
Contributor
π
°οΈ Angular Team
β Spring Boot Team
π¬ MySQL Team
π¨ Angular Material
π₯ Open Source Contributors
Action
Icon
Star This Repository
β
Fork This Repository
π΄
Share With Others
π’
Report Issues
π
Suggest Features
π‘
"QuickMart β Making Online Shopping Quick & Easy"
Built with β€οΈ by Pranav Sali
Β© 2026 QuickMart. All Rights Reserved.
β Star this repository if you like this project! β