Skip to content

Pranavsali77/QuickMart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ QuickMart - Enterprise E-Commerce Platform

"Making Online Shopping Quick & Easy"

Angular Spring Boot MySQL TypeScript Java License


πŸ“Œ Table of Contents

Section Description
About QuickMart Project overview and mission
Key Features User and admin features
Technology Stack Frontend and backend technologies
Installation Guide Step by step setup
API Endpoints REST API documentation
User Workflow Customer and admin journeys
Testing Credentials Test accounts
Project Structure Folder organization
Troubleshooting Common issues and solutions
Future Roadmap Upcoming features
Contributing How to contribute
License MIT License
Contact Support and inquiries

πŸ“Œ About QuickMart

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.

🎯 Mission

"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."


✨ Key Features

πŸ‘€ Customer Features

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 Stack

Frontend Technologies

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

Backend Technologies

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

πŸš€ Installation Guide

πŸ“‹ Prerequisites

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

πŸ”— API Endpoints

πŸ” Authentication

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

πŸ“¦ Products

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

πŸ“‹ Orders

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

πŸ“’ Announcements

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

πŸ’¬ Feedback

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

🎯 User Workflow

πŸ‘€ Customer Journey

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

πŸ‘‘ Admin Journey

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

πŸ§ͺ Testing Credentials

πŸ‘‘ Administrator

Field Value
πŸ“§ Email admin@quickmart.com
πŸ”‘ Password admin123

πŸ‘€ Customer

Field Value
πŸ“§ Email customer@quickmart.com
πŸ”‘ Password customer123

πŸ’³ Test Payment

Method Credentials
UPI test@okhdfcbank
Card Number 4111 1111 1111 1111
Expiry 12/25
CVV 123

πŸ“ Project Structure

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

πŸ› οΈ Debug Commands

# 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

πŸ—“οΈ Future Roadmap

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

πŸ“‹ Coding Standards

  • βœ… Follow Angular Style Guide
  • βœ… Write Meaningful Commit Messages
  • βœ… Add Comments for Complex Logic
  • βœ… Test Before Submitting
  • βœ… Update Documentation

πŸ“„ License

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...

πŸ™ Acknowledgments

Contributor
πŸ…°οΈ Angular Team
β˜• Spring Boot Team
🐬 MySQL Team
🎨 Angular Material
πŸ‘₯ Open Source Contributors

⭐ Show Your Support

Action Icon
Star This Repository ⭐
Fork This Repository 🍴
Share With Others πŸ“’
Report Issues πŸ›
Suggest Features πŸ’‘

πŸŽ‰ Final Note

"QuickMart – Making Online Shopping Quick & Easy"

Built with ❀️ by Pranav Sali

Β© 2026 QuickMart. All Rights Reserved.

⭐ Star this repository if you like this project! ⭐

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors