Welcome to my Django E-Commerce Website.
This project is a complete Full Stack E-Commerce Web Application built using the Django Framework with a modern, responsive, and user-friendly interface.
The application allows customers to browse products, add items to their shopping cart, place secure orders, complete online payments through Stripe, and manage their accounts with ease.
The project follows a modular Django architecture by separating functionalities into multiple reusable apps, making the code clean, scalable, and easy to maintain.
Every sensitive configuration such as API Keys, Database Credentials, and Django Secret Keys are securely managed using a .env file.
- π Complete E-Commerce Solution
- π€ User Authentication System
- π³ Stripe Payment Gateway
- π PostgreSQL Database
- π± Responsive Design (Optimized up to 1200px)
- β Product Review System
- ποΈ Shopping Cart
- π¦ Order Management
- π Secure Environment Variables (.env)
- π± Database Seeder (seed.py)
- πΌοΈ Product Image Upload
- π¨ Modern UI/UX Design
- β‘ Fast and Clean Django Architecture
- User Registration
- Secure Login
- Logout
- User Profile
- Password Protection
- Product Listing
- Product Details
- Product Images
- Product Categories
- Product Reviews
- Related Products
- Add to Cart
- Remove Cart Items
- Update Quantity
- Dynamic Cart Total
- Stripe Payment Integration
- Secure Checkout
- Order Confirmation
- Product Ratings
- Customer Reviews
- Order Placement
- Order Summary
- Checkout Process
- Modern Design
- Responsive Layout
- Beautiful Animations
- Clean Interface
- Easy Navigation
- Python
- Django Framework
- HTML5
- CSS3
- Bootstrap 5
- JavaScript
- jQuery
- PostgreSQL
- Stripe
- Font Awesome
- Line Icons
- Google Fonts
- Pillow
- Python-dotenv (.env)
This project follows a modular Django architecture.
| App | Description |
|---|---|
| π€ Accounts | User Authentication & Profiles |
| ποΈ Products | Product Management |
| π Carts | Shopping Cart |
| π¦ Orders | Order Processing |
| π³ Payments | Stripe Payment Integration |
| β Reviews | Customer Reviews |
| π Shared | Shared Utilities & Common Components |
The primary objective of this project is to build a modern E-Commerce platform that demonstrates real-world Django development practices.
The project focuses on:
β Clean Code Structure
β Scalable Django Architecture
β Secure Authentication
β Responsive UI
β Beautiful User Experience
β Database Design
β Payment Integration
β Production Ready Development
- Project Overview
- Features
- Tech Stack
- Django Applications
- Installation Guide
- Requirements
- Environment Variables
- PostgreSQL Configuration
- Stripe Configuration
- Project Structure
- Folder Structure
- Media Files
- Static Files
- Responsive Design
- Available Pages
- Database Seeder
- Screenshots
- Future Improvements
- License
- Author
π Note: This project is built for educational purposes and portfolio demonstration. It follows modern Django development practices and showcases a complete full-stack e-commerce workflow with authentication, cart management, order processing, payment integration, and responsive UI/UX design.
Follow the steps below to run this project on your local machine.
Before running this project, make sure the following software is installed on your computer.
| Software | Version |
|---|---|
| Python | 3.11+ Recommended |
| Git | Latest |
| PostgreSQL | Latest |
| VS Code | Recommended |
| pip | Latest |
Download and install the latest version of Python from the official website.
π https://www.python.org/downloads/
Important: During installation, make sure to check the box:
β
Add Python to PATH
After installation, verify it:
python --versionor
python3 --versionDownload Git from:
π https://git-scm.com/downloads
Verify installation:
git --versionDownload VS Code:
π https://code.visualstudio.com/
Recommended Extensions:
- Python
- Django
- Pylance
- GitLens
- Bootstrap IntelliSense
- HTML CSS Support
git clone https://github.com/iamdeveloperrayhan/Shopwise---eCommerce.gitGo inside the project folder.
cd Shopwise---eCommerceWindows
python -m venv venvMac/Linux
python3 -m venv venvvenv\Scripts\activatesource venv/bin/activateAfter activation your terminal should look like:
(venv) C:\Project>
pip install -r requirements.txtVerify installed packages
pip listDownload PostgreSQL:
π https://www.postgresql.org/download/
During installation remember your:
- Database Name
- Username
- Password
- Port
Example
Database : ecommerce_db
Username : postgres
Password : ********
Port : 5432
Create a file named
.env
Example:
SECRET_KEY=your_secret_key
DEBUG=True
DB_NAME=ecommerce_db
DB_USER=postgres
DB_PASSWORD=your_password
DB_HOST=localhost
DB_PORT=5432
STRIPE_PUBLIC_KEY=pk_test_xxxxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxxxxxxxxNever upload your
.envfile to GitHub.
python manage.py makemigrationsThen
python manage.py migratepython manage.py createsuperuserEnter
- Username
- Password
This project includes a seed.py file for generating sample data.
Run the seed file according to your project configuration.
Example:
python seed.pypython manage.py runserverOpen your browser
http://127.0.0.1:8000/
This project uses Stripe as the payment gateway.
Create a free Stripe account.
π https://dashboard.stripe.com/
Copy your:
-
Publishable Key
-
Secret Key
and place them inside the .env file.
Example
STRIPE_PUBLIC_KEY=pk_test_xxxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxxxxxxxUploaded images are stored inside
media/
The project uses Pillow to process image uploads.
All static resources are organized inside the static/ directory.
Including:
- CSS
- JavaScript
- Bootstrap
- Icons
- Fonts
- Images
- Keep your virtual environment activated while working.
- Never push your
.envfile to GitHub. - Always install packages from
requirements.txt. - PostgreSQL must be running before starting the Django server.
- Stripe API keys should always remain private.
- Product images require the Pillow package.
- Make sure all migrations are applied before running the project.
If everything is configured correctly, your project should now be running at:
http://127.0.0.1:8000/
π Congratulations! Your Django E-Commerce project is now ready for development.
Install all required packages using the following command:
pip install -r requirements.txtDjango>=4.2
Pillow
psycopg2-binary
python-dotenv
stripe
django-crispy-forms
crispy-bootstrap5
gunicorn
whitenoiseDjango-Ecommerce/
β
βββ accounts/
β
βββ carts/
β
βββ products/
β
βββ orders/
β
βββ payments/
β
βββ reviews/
β
βββ shared/
β
βββ media/
β
βββ static/
β βββ css/
β βββ javascript/
β βββ images/
β βββ bootstrap/
β βββ fonts/
β
βββ templates/
β βββ accounts/
β βββ carts/
β βββ products/
β βββ orders/
β βββ payments/
β βββ reviews/
β βββ shared/
β βββ errors/
β
βββ ecommerce/
β
βββ .env
βββ .gitignore
βββ manage.py
βββ requirements.txt
βββ seed.py
βββ README.md
The project is divided into multiple reusable Django applications.
Responsible for:
- User Registration
- Login
- Logout
- Profile
- Authentication
- User Information
Responsible for:
- Product Listing
- Product Details
- Categories
- Product Images
- Product Information
Responsible for:
- Shopping Cart
- Quantity Update
- Remove Items
- Total Calculation
Responsible for:
- Checkout
- Order Creation
- Order History
- Order Summary
Responsible for:
- Stripe Payment
- Payment Verification
- Secure Checkout
Responsible for:
- Product Ratings
- Customer Reviews
- Feedback System
Contains common resources used throughout the project.
Examples:
- Shared Views
- Utilities
- Common Context
- Reusable Components
This project has been carefully designed to provide an excellent user experience across different screen sizes.
β Desktop
β Laptop
β Tablet
β Large Mobile Devices
The UI is fully responsive and optimized up to:
1200px Screen Width
Bootstrap Grid System has been used extensively to create a flexible and responsive layout.
Special attention has been given to the user experience.
Highlights include:
- Modern Layout
- Clean Typography
- Beautiful Color Combination
- Smooth User Navigation
- Consistent Design Language
- Well Structured Components
- Easy-to-use Interface
- Interactive Buttons
- Responsive Cards
- Product Hover Effects
- Attractive Hero Sections
- Professional Footer Design
Product images are handled using the Pillow package.
Uploaded images are stored inside the:
media/
directory.
This project uses Google Fonts to improve typography and readability.
Fonts are loaded directly from Google's CDN.
The project uses:
- Font Awesome
- Line Icons
to provide a modern interface.
This project currently contains 15+ pages, including:
- π Home Page
- ποΈ Product Page
- π Product Details Page
- π Search Page
- π Shopping Cart
- π³ Checkout Page
- π¦ Order Page
- π€ User Profile
- π Login Page
- π Registration Page
- β Review Section
- β Custom 404 Error Page
- π¬ Contact Section
- π Terms & Policies
- π± Responsive Navigation
β¦and several reusable shared templates.
Security has been considered throughout the project.
Features include:
- Environment Variables (.env)
- Hidden Secret Keys
- Secure Stripe Keys
- Django CSRF Protection
- Secure Authentication
- Protected User Sessions
Sensitive information is never hardcoded into the source code.
A custom:
seed.py
file is included to quickly populate the database with sample data.
This helps developers test the application without manually creating products and records.
The project uses:
Benefits:
- Fast
- Reliable
- Production Ready
- Highly Scalable
- Secure
- ACID Compliant
This project was developed to demonstrate real-world Django development practices.
It showcases how to build a complete E-Commerce platform using a clean architecture and modern web technologies.
The project emphasizes:
β Clean Code
β Modular Architecture
β Reusable Components
β Responsive Design
β Secure Development
β Database Design
β Payment Gateway Integration
β User Experience
β Scalable Project Structure
This project follows best practices for Django development:
- Separation of Concerns
- Reusable Django Apps
- Organized Templates
- Static & Media Management
- Environment Variable Security
- Clean Project Structure
- Easy Maintenance
- Future Scalability
β€οΈ This project is continuously being improved with new features, performance optimizations, and UI/UX enhancements.
Note: Add screenshots of your project here to showcase the user interface.
This project can be deployed on various cloud platforms, including:
- Render
- Railway
- PythonAnywhere
- DigitalOcean
- VPS
- AWS EC2
The project is actively growing. Planned features include:
- β€οΈ Wishlist System
- ποΈ Coupon & Discount Management
- π¦ Order Tracking
- π§ Email Verification
- π Email Notifications
- π± Progressive Web App (PWA)
- π REST API
- π Admin Dashboard Analytics
- π¬ Live Chat Support
- β€οΈ Favorite Products
- π Advanced Product Filters
- π Multi-language Support
- π± Multi-Currency Support
- π± Mobile Application Integration
| Feature | Status |
|---|---|
| User Authentication | β |
| Product Management | β |
| Shopping Cart | β |
| Stripe Payment | β |
| PostgreSQL | β |
| Product Reviews | β |
| Responsive Design | β |
| Modern UI/UX | β |
| Environment Variables (.env) | β |
| Media Upload | β |
| Bootstrap 5 | β |
| jQuery | β |
| Google Fonts | β |
| Font Awesome | β |
| Line Icons | β |
| Database Seeder | β |
| Information | Details |
|---|---|
| Framework | Django |
| Language | Python |
| Database | PostgreSQL |
| Payment Gateway | Stripe |
| Responsive | Yes (1200px Optimized) |
| Pages | 15+ |
| Django Apps | 7 |
| Authentication | Django Authentication |
| Environment Variables | .env |
| Image Processing | Pillow |
Contributions are always welcome!
If you'd like to improve this project:
- Fork the repository
- Create your feature branch
git checkout -b feature/NewFeature- Commit your changes
git commit -m "Add new feature"- Push your branch
git push origin feature/NewFeature- Open a Pull Request
If you find any bugs or have suggestions, please create an Issue on GitHub.
Your feedback is greatly appreciated.
If you found this project useful, please consider giving it a β on GitHub.
It really helps and motivates future development.
This project is released under the MIT License.
You are free to use, modify, and distribute this project for educational and personal purposes.
Full Stack Django Developer
Passionate about building modern, responsive, and scalable web applications using Python and Django.
π§ Email
iamdeveloperrayhan@gmail.com
πΌ LinkedIn
https://linkedin.com/in/iamdeveloperrayhan
π GitHub
https://github.com/iamdeveloperrayhan
Special thanks to the amazing open-source community and the creators of:
- Python
- Django
- PostgreSQL
- Bootstrap
- Stripe
- Font Awesome
- Line Icons
- Google Fonts
for providing incredible tools that made this project possible.





