Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ Sree Fashions - E-Commerce Platform

Sree Fashions Banner

A Modern, Full-Stack E-Commerce Fashion Store with UPI Payment Integration

Made with Django Python PostgreSQL Bootstrap DRF License

View Demo Β· Report Bug Β· Request Feature


πŸ“– Table of Contents


🎯 About The Project

Sree Fashions is a comprehensive e-commerce platform designed for a fashion retail business. Built from the ground up as a real-world business application, it demonstrates modern web development practices, secure payment processing, and scalable architecture.

🌟 Why This Project?

Built as a production-ready application for our office's fashion retail business, this project showcases:

  • πŸ’‘ Real-world problem-solving
  • πŸ—οΈ Enterprise-level architecture
  • πŸ”’ Secure payment integration
  • πŸ“± Modern, responsive design
  • πŸš€ Scalable codebase

🎨 Design Philosophy

  • User-Centric: Intuitive UX with smooth navigation
  • Mobile-First: Fully responsive across all devices
  • Fast & Modern: PWA-enabled with offline support
  • Secure: JWT authentication + secure payment flow
  • Scalable: Modular architecture for easy expansion

πŸ“Έ Screenshots

🏠 Homepage

Homepage Modern homepage with hero slider, categories, and featured products

πŸ‘• Product Detail

Product Detail Comprehensive product page with variants, reviews, and image zoom

πŸ›’ Shopping Cart

Cart Page Smart cart with coupon support and real-time updates

πŸ’³ Checkout Process

Checkout Multi-step checkout with address selection and payment method

πŸ’° UPI Payment

Payment Page Seamless UPI payment with QR code and UTR verification

πŸ“Š Admin Dashboard

Admin Dashboard Powerful admin panel with real-time analytics and management tools


✨ Features

πŸ›οΈ Customer Features

  • πŸ” Authentication System

    • Email/Password Registration & Login
    • JWT-based Authentication
    • OTP-based Password Reset
    • Email Verification
  • πŸ›’ Shopping Experience

    • Browse products by category and gender
    • Advanced filtering (price, size, color, brand)
    • Real-time search with suggestions
    • Product comparison (up to 4 products)
    • Wishlist management
    • Recently viewed products
    • Flash sales with countdown timer
  • πŸ’³ Smart Checkout

    • Multi-step checkout process
    • Multiple delivery addresses
    • UPI Payment with QR code generation
    • Cash on Delivery (COD) option
    • Coupon code system
    • Order tracking
  • πŸ“¦ Order Management

    • Real-time order status tracking
    • Order history
    • Cancel orders
    • Payment status tracking
    • UTR-based payment verification
  • ⭐ Reviews & Ratings

    • Product reviews with ratings
    • Verified purchase badges
    • Review moderation
  • πŸ“± Progressive Web App

    • Installable on mobile devices
    • Offline support with Service Worker
    • Push notification ready
    • App-like experience

πŸ‘¨β€πŸ’Ό Admin Features

  • πŸ“Š Dashboard Analytics

    • Real-time sales statistics
    • Revenue charts
    • Order status distribution
    • Top-selling products
    • Recent activity tracking
  • πŸ“¦ Product Management

    • Add/Edit/Delete products
    • Product variants (Size, Color, Stock)
    • Multiple image upload
    • Bulk operations
    • Featured/New/Best Seller flags
    • Flash sale management
  • πŸ“‹ Order Management

    • View all orders
    • Update order status
    • Track payments
    • Add tracking numbers
    • Customer communication
  • πŸ’³ Payment Verification

    • UPI payment approval workflow
    • View payment screenshots
    • UTR verification
    • Manual payment approval/rejection
    • Automated email notifications
  • 🎟️ Marketing Tools

    • Coupon management (percentage/fixed/free shipping)
    • Discount codes with validation
    • Usage tracking
    • Expiry management
  • πŸ“± UPI Settings

    • Multiple UPI IDs support
    • Custom QR code upload
    • Easy UPI ID switching
    • No code changes needed

πŸ› οΈ Tech Stack

Backend

  • Framework: Django 4.2
  • API: Django REST Framework
  • Database: PostgreSQL 15
  • Authentication: JWT (Simple JWT)
  • Email: Django SMTP + Gmail

Frontend

  • HTML5 & CSS3
  • JavaScript (Vanilla ES6+)
  • Bootstrap 5 for responsive design
  • Swiper.js for carousels
  • Chart.js for analytics
  • QR Code Generator for UPI payments

DevOps & Tools

  • Version Control: Git & GitHub
  • Development: Python venv
  • Package Manager: pip
  • Environment: python-decouple

Payment Integration

  • UPI Payment with QR code
  • UTR Verification system
  • Screenshot Upload for proof
  • Cash on Delivery option

πŸš€ Installation

Prerequisites

Make sure you have the following installed:

  • Python 3.11 or higher
  • PostgreSQL 12 or higher
  • Git
  • pip (Python package manager)

Step-by-Step Setup

  1. Clone the repository
    git clone https://github.com/Pradeep3345/Sree-Fashions-Ecommerce.git
    cd Sree-Fashions-Ecommerce
    
  2. Create and activate virtual environment

Windows

python -m venv venv venv\Scripts\activate

macOS/Linux

python3 -m venv venv source venv/bin/activate

  1. Install dependencies

pip install -r requirements.txt

  1. Setup PostgreSQL Database

psql -U postgres

CREATE DATABASE sree_fashions_db; CREATE USER your_user WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE sree_fashions_db TO your_user; \q

  1. Setup Environment Variables

Create .env file in the project root:

env

Django

SECRET_KEY=your-secret-key-here DEBUG=True

Database

DB_NAME=sree_fashions_db DB_USER=postgres DB_PASSWORD=your_password DB_HOST=localhost DB_PORT=5432

Email Configuration

EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USE_TLS=True EMAIL_HOST_USER=your-email@gmail.com EMAIL_HOST_PASSWORD=your-app-password DEFAULT_FROM_EMAIL=Sree Fashions your-email@gmail.com

Site

SITE_URL=http://127.0.0.1:8000

  1. Run Migrations

python manage.py makemigrations python manage.py migrate

  1. Create Superuser

python manage.py createsuperuser

  1. Load Sample Data (Optional)

python create_sample_data.py

  1. Run Development Server

python manage.py runserver

  1. Access the Application

🌐 Store: http://127.0.0.1:8000 πŸ” Admin Dashboard: http://127.0.0.1:8000/admin-panel/ πŸ“¦ Django Admin: http://127.0.0.1:8000/admin/

βš™οΈ Configuration

Gmail SMTP Setup Enable 2-Step Verification on your Gmail account Generate App Password: https://myaccount.google.com/apppasswords Use the 16-character password in EMAIL_HOST_PASSWORD UPI Payment Setup Login to Admin Dashboard Navigate to UPI Settings Add your UPI ID and payee name Optionally upload a custom QR code Set as active

πŸ“š API Endpoints

Authentication

POST /api/v1/auth/register/ - User registration POST /api/v1/auth/login/ - User login POST /api/v1/auth/logout/ - User logout POST /api/v1/auth/token/refresh/ - Refresh JWT token POST /api/v1/auth/forgot-password/ - Password reset OTP POST /api/v1/auth/reset-password/ - Reset password GET /api/v1/auth/profile/ - Get user profile PUT /api/v1/auth/profile/ - Update profile

Products

GET /api/v1/products/ - List all products GET /api/v1/products/{slug}/ - Get product details GET /api/v1/products/search/ - Search products GET /api/v1/products/featured/ - Featured products GET /api/v1/products/new-arrivals/ - New arrivals GET /api/v1/products/best-sellers/ - Best sellers GET /api/v1/products/flash-sale/ - Flash sale items GET /api/v1/products/categories/ - List categories

Cart & Orders

GET /api/v1/orders/cart/ - Get user cart POST /api/v1/orders/cart/add/ - Add to cart PUT /api/v1/orders/cart/items/{id}/ - Update cart item DELETE /api/v1/orders/cart/items/{id}/ - Remove from cart POST /api/v1/orders/cart/apply-coupon/- Apply coupon POST /api/v1/orders/create/ - Create order GET /api/v1/orders/ - List orders GET /api/v1/orders/{number}/ - Order details

Payments

GET /api/v1/payments/{order}/ - Get payment details POST /api/v1/payments/{order}/submit/ - Submit payment proof POST /api/v1/payments/{order}/admin-verify/ - Admin verify

πŸ“‚ Project Structure

Sree-Fashions-Ecommerce/ β”‚ β”œβ”€β”€ πŸ“ apps/ # Django applications β”‚ β”œβ”€β”€ users/ # User authentication & profile β”‚ β”œβ”€β”€ products/ # Products, categories, variants β”‚ β”œβ”€β”€ orders/ # Orders & shopping cart β”‚ β”œβ”€β”€ payments/ # UPI payment integration β”‚ β”œβ”€β”€ wishlist/ # User wishlist β”‚ β”œβ”€β”€ reviews/ # Product reviews & ratings β”‚ β”œβ”€β”€ coupons/ # Discount coupons β”‚ β”œβ”€β”€ notification/ # Email notifications β”‚ β”œβ”€β”€ analytics/ # Sales analytics β”‚ └── core/ # Core functionality β”‚ β”œβ”€β”€ πŸ“ static/ # Static files β”‚ β”œβ”€β”€ css/ # Stylesheets β”‚ β”œβ”€β”€ js/ # JavaScript files β”‚ β”œβ”€β”€ images/ # Static images β”‚ └── manifest.json # PWA manifest β”‚ β”œβ”€β”€ πŸ“ templates/ # HTML templates β”‚ β”œβ”€β”€ base.html # Base template β”‚ β”œβ”€β”€ index.html # Homepage β”‚ β”œβ”€β”€ pages/ # Customer pages β”‚ β”œβ”€β”€ admin_dashboard/ # Admin dashboard pages β”‚ β”œβ”€β”€ includes/ # Reusable components β”‚ └── errors/ # Error pages β”‚ β”œβ”€β”€ πŸ“ media/ # User uploaded files β”œβ”€β”€ πŸ“ screenshots/ # Project screenshots β”œβ”€β”€ πŸ“ sree_fashions/ # Project configuration β”‚ β”œβ”€β”€ settings.py # Django settings β”‚ β”œβ”€β”€ urls.py # URL configuration β”‚ └── wsgi.py # WSGI config β”‚ β”œβ”€β”€ πŸ“„ manage.py # Django management β”œβ”€β”€ πŸ“„ requirements.txt # Python dependencies β”œβ”€β”€ πŸ“„ .env.example # Environment template β”œβ”€β”€ πŸ“„ .gitignore # Git ignore rules β”œβ”€β”€ πŸ“„ README.md # Project documentation └── πŸ“„ LICENSE # MIT License

πŸŽ“ What I Learned Building this project taught me valuable skills and concepts:

πŸ—οΈ Complex Architecture Design Designed a modular Django architecture with 10+ apps Implemented separation of concerns between apps Created reusable serializers and views

πŸ›’ Shopping Cart Architecture Built a robust cart system that persists across sessions Handled complex scenarios: variant management, stock validation Implemented real-time price calculations with coupons Solved cart synchronization between database and frontend

❀️ Wishlist Implementation Created a scalable wishlist system with product variants Implemented cross-device sync using JWT authentication Built optimistic UI updates for better UX

πŸ’³ Payment Architecture Integrated UPI payment with QR code generation Built UTR-based verification system Designed admin approval workflow Implemented COD as alternative payment method Managed payment state transitions

🎨 Frontend Development Built responsive UI with Bootstrap 5 without any framework Created reusable JavaScript modules Implemented advanced features: search suggestions, product zoom, comparison Managed complex state with vanilla JavaScript

πŸ”’ Security Best Practices Implemented JWT authentication with refresh tokens Created protected admin routes Secured API endpoints with proper permissions Prevented common vulnerabilities (XSS, CSRF)

πŸ“Š Database Design Designed normalized schema with 20+ models Optimized queries with select_related and prefetch_related Implemented efficient indexing strategies Managed complex relationships (M2M, FK, self-referencing)

🎯 API Development Built 50+ RESTful API endpoints Implemented pagination, filtering, and search Created custom permissions and throttling Documented API structure

πŸ“± Progressive Web App Implemented Service Worker for offline support Created installable web app experience Optimized for mobile performance Handled caching strategies

πŸš€ Real-World Problem Solving Managed product variants (size + color + stock) Handled inventory management Implemented order status workflows Built admin verification systems

🀝 Contributing Contributions make the open-source community amazing! Any contributions you make are greatly appreciated.

Fork the Project Create your Feature Branch (git checkout -b feature/AmazingFeature) Commit your Changes (git commit -m 'Add some AmazingFeature') Push to the Branch (git push origin feature/AmazingFeature) Open a Pull Request

πŸ“ž Contact Pradeep

πŸ“§ Email: pradeepsam337@gmail.com πŸ™ GitHub: @Pradeep3345 πŸ“ Location: Hyderabad, India πŸ”— Project Link: https://github.com/Pradeep3345/Sree-Fashions-Ecommerce πŸ“„ License Distributed under the MIT License. See LICENSE for more information.

πŸ™ Acknowledgments Django Documentation Django REST Framework Bootstrap 5 Bootstrap Icons Google Fonts All the amazing open-source contributors

⭐ Star this repo if you find it helpful! Built with ❀️ by Pradeep
```

About

Modern E-Commerce Fashion Store with UPI Payment Integration built with Django, DRF & PostgreSQL

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages