Skip to content

ki3ki/EcommerceProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›๏ธ E-Commerce Platform Documentation

๐Ÿ“š Table of Contents

  1. Project Overview
  2. Features Implemented
  3. Technical Stack
  4. Folder Structure
  5. Installation and Setup
  6. App Overview
  7. Models and Database Structure
  8. API and URL Endpoints
  9. Authentication and Authorization
  10. Payment Integration
  11. Testing
  12. To-Do and Future Enhancements

๐Ÿ’„ 1. Project Overview

The E-Commerce Platform is a web application built using Django to facilitate the sale of travel-related items. Users can browse products, add them to the cart, apply coupons, and place orders with Razorpay payment integration. The project includes a user interface for customers and an admin panel for managing products, orders, users, and offers.


๐ŸŽฏ 2. Features Implemented

โœ… User Side

  • User Registration with Email OTP Verification
  • User Login/Logout with Session Management
  • Profile and Address Management
  • Wishlist (Add/Remove Items)
  • Add/Remove Items to/from Cart
  • Apply/Remove Coupons
  • Checkout and Order Placement
  • Order History and Order Status Updates
  • Payment Integration with Razorpay
  • Return and Cancel Orders
  • Wallet for Refunds on Canceled Orders
  • Search , category filtering
  • added blogs to enhance user experience and engagement

โœ… Admin Panel

  • Manage Users, Products, Categories, and Brands
  • Add/Edit/Delete Product Variants
  • Coupon Management
  • Offer Module (Category/Product/Referral Offers)
  • View and Filter Orders

๐Ÿ› ๏ธ 3. Technical Stack

๐Ÿ“š Backend

  • Python 3.11
  • Django 4.x
  • Razorpay for Payment Gateway

๐ŸŽจ Frontend

  • HTML5, CSS3, JavaScript
  • Bootstrap (for UI enhancements)

๐Ÿ“‰ Database

  • PostgreSQL

๐Ÿ“‚ 4. Folder Structure

/ecommerce_project/
โ”œโ”€โ”€ /accounts/                  # User authentication and profile management
โ”œโ”€โ”€ /admin_panel/               # Admin functionalities and management
โ”œโ”€โ”€ /cart/                      # Cart and wishlist functionality
โ”œโ”€โ”€ /coupons/                   # Coupons and discount module
โ”œโ”€โ”€ /orders/                    # Order management and Razorpay integration
โ”œโ”€โ”€ /store/                     # Product listing, category, and search
โ”œโ”€โ”€ /templates/                 # HTML templates for user/admin interfaces
โ”œโ”€โ”€ /static/                    # CSS, JS, and images
โ”œโ”€โ”€ /media/                     # Uploaded product images
โ”œโ”€โ”€ /ecommerce_project/         # Core settings and URLs
โ””โ”€โ”€ manage.py                   # Django project management script

๐Ÿš€ 5. Installation and Setup

๐Ÿ‘ฅ Step 1: Clone the Repository

git clone https://github.com/username/ecommerce_project.git
cd ecommerce_project

โš™๏ธ Step 2: Create and Activate Virtual Environment

# Create virtual environment
python -m venv env

# Activate virtual environment
# On Windows
env\Scripts\activate

# On Linux/Mac
source env/bin/activate

๐Ÿ›† Step 3: Install Required Packages

pip install -r requirements.txt

๐Ÿ›„ Step 4: Configure Database

  • Open ecommerce_project/settings.py and update the database settings as needed.
  • Run migrations:
python manage.py makemigrations
python manage.py migrate

๐Ÿ‘ค Step 5: Create Superuser for Admin Panel

python manage.py createsuperuser

โ–ถ๏ธ Step 6: Run the Development Server

python manage.py runserver

Open http://127.0.0.1:8000/ to access the application.


๐Ÿ“บ 6. App Overview

๐Ÿ“Œ 1. accounts App

  • User registration with OTP verification
  • Login/Logout functionality
  • Address and profile management

๐Ÿ“Œ 2. admin_panel App

  • Admin management of users, products, and orders
  • Coupon and offer management

๐Ÿ“Œ 3. store App

  • Product listing, category filtering, and search
  • Product detail view

๐Ÿ“Œ 4. cart App

  • Add, update, and remove items from the cart
  • Wishlist management

๐Ÿ“Œ 5. orders App

  • Order placement and tracking
  • Razorpay payment gateway integration
  • Return and cancel order options

๐Ÿ“Œ 6. coupons App

  • Coupon management and application
  • Discount handling during checkout

๐Ÿ“Š 7. Models and Database Structure

Hereโ€™s a high-level overview of the core models:

  • User: Stores user details and related info.
  • Product, Category, Brand: Manages product listings and attributes.
  • Cart and CartItem: Handles items added to the cart.
  • Order and OrderItem: Stores order details and payment status.
  • Coupon and CouponUsage: Manages coupons and discounts.
  • Wishlist and WishlistItem: Keeps track of usersโ€™ favorite products.
  • Blog and Bloglist: Listing and viewing blogs realted to travel.

๐ŸŒ 8. API and URL Endpoints

โœ… User Side URLs

  • / โ€“ Homepage
  • /accounts/register/ โ€“ User registration
  • /accounts/login/ โ€“ User login
  • /store/ โ€“ Product listing
  • /cart/ โ€“ View and update cart
  • /checkout/ โ€“ Checkout page

โœ… Admin URLs

  • /admin/ โ€“ Admin login
  • /admin_panel/dashboard/ โ€“ Admin dashboard
  • /admin_panel/orders/ โ€“ Manage orders
  • /admin_panel/products/ โ€“ Manage products

๐Ÿ”’ 9. Authentication and Authorization

  • Authentication: Handled via Djangoโ€™s built-in auth system.
  • Authorization: Restricted views for admin and user-specific pages.

๐Ÿ’ณ 10. Payment Integration

โœ… Razorpay Integration

  • Razorpay payment gateway integrated for secure payments.
  • Webhook to update payment status after successful/failed transactions.

๐ŸŽฎ 11. To-Do and Future Enhancements

  • โณ Invoice PDF download after order completion
  • โณ Add Celery for background tasks and notifications
  • โณ Implement Product Reviews and Ratings
  • โณ Deployment on Heroku or AWS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published