A Modern, Full-Stack E-Commerce Fashion Store with UPI Payment Integration
- About The Project
- Screenshots
- Features
- Tech Stack
- Installation
- Configuration
- API Documentation
- Project Structure
- What I Learned
- Roadmap
- Contributing
- Contact
- License
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.
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
- 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
Modern homepage with hero slider, categories, and featured products
Comprehensive product page with variants, reviews, and image zoom
Smart cart with coupon support and real-time updates
Multi-step checkout with address selection and payment method
Seamless UPI payment with QR code and UTR verification
Powerful admin panel with real-time analytics and management tools
-
π 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
-
π 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
- Framework: Django 4.2
- API: Django REST Framework
- Database: PostgreSQL 15
- Authentication: JWT (Simple JWT)
- Email: Django SMTP + Gmail
- HTML5 & CSS3
- JavaScript (Vanilla ES6+)
- Bootstrap 5 for responsive design
- Swiper.js for carousels
- Chart.js for analytics
- QR Code Generator for UPI payments
- Version Control: Git & GitHub
- Development: Python venv
- Package Manager: pip
- Environment: python-decouple
- UPI Payment with QR code
- UTR Verification system
- Screenshot Upload for proof
- Cash on Delivery option
Make sure you have the following installed:
- Python 3.11 or higher
- PostgreSQL 12 or higher
- Git
- pip (Python package manager)
- Clone the repository
git clone https://github.com/Pradeep3345/Sree-Fashions-Ecommerce.git cd Sree-Fashions-Ecommerce - Create and activate virtual environment
python -m venv venv venv\Scripts\activate
python3 -m venv venv source venv/bin/activate
- Install dependencies
pip install -r requirements.txt
- 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
- Setup Environment Variables
Create .env file in the project root:
env
SECRET_KEY=your-secret-key-here DEBUG=True
DB_NAME=sree_fashions_db DB_USER=postgres DB_PASSWORD=your_password DB_HOST=localhost DB_PORT=5432
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_URL=http://127.0.0.1:8000
- Run Migrations
python manage.py makemigrations python manage.py migrate
- Create Superuser
python manage.py createsuperuser
- Load Sample Data (Optional)
python create_sample_data.py
- Run Development Server
python manage.py runserver
- 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