- Project Overview
- Features Implemented
- Technical Stack
- Folder Structure
- Installation and Setup
- App Overview
- Models and Database Structure
- API and URL Endpoints
- Authentication and Authorization
- Payment Integration
- Testing
- To-Do and Future Enhancements
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.
- 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
- Manage Users, Products, Categories, and Brands
- Add/Edit/Delete Product Variants
- Coupon Management
- Offer Module (Category/Product/Referral Offers)
- View and Filter Orders
- Python 3.11
- Django 4.x
- Razorpay for Payment Gateway
- HTML5, CSS3, JavaScript
- Bootstrap (for UI enhancements)
- PostgreSQL
/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
git clone https://github.com/username/ecommerce_project.git
cd ecommerce_project# Create virtual environment
python -m venv env
# Activate virtual environment
# On Windows
env\Scripts\activate
# On Linux/Mac
source env/bin/activatepip install -r requirements.txt- Open
ecommerce_project/settings.pyand update the database settings as needed. - Run migrations:
python manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen http://127.0.0.1:8000/ to access the application.
- User registration with OTP verification
- Login/Logout functionality
- Address and profile management
- Admin management of users, products, and orders
- Coupon and offer management
- Product listing, category filtering, and search
- Product detail view
- Add, update, and remove items from the cart
- Wishlist management
- Order placement and tracking
- Razorpay payment gateway integration
- Return and cancel order options
- Coupon management and application
- Discount handling during checkout
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.
/โ Homepage/accounts/register/โ User registration/accounts/login/โ User login/store/โ Product listing/cart/โ View and update cart/checkout/โ Checkout page
/admin/โ Admin login/admin_panel/dashboard/โ Admin dashboard/admin_panel/orders/โ Manage orders/admin_panel/products/โ Manage products
- Authentication: Handled via Djangoโs built-in
authsystem. - Authorization: Restricted views for admin and user-specific pages.
- Razorpay payment gateway integrated for secure payments.
- Webhook to update payment status after successful/failed transactions.
- โณ Invoice PDF download after order completion
- โณ Add Celery for background tasks and notifications
- โณ Implement Product Reviews and Ratings
- โณ Deployment on Heroku or AWS