A feature-rich e-commerce platform built with Python/Django and modern frontend technologies.
From user authentication to AI-powered assistance, ShopMaster provides a complete and personalized shopping experience.
| Feature | Description | Status |
|---|---|---|
| 🔐 Secure Auth & Roles | Robust user authentication (Django Auth, OAuth) with role-based access. | ✅ Complete |
| 📦 Dynamic Product Catalog | Easy-to-manage catalog with categories, powerful search, and filtering. | ✅ Complete |
| 📝 Verified Review System | Users can only review products they have actually purchased. | ✅ Complete |
| 🛒 Seamless Cart & Checkout | Intuitive shopping cart and a secure, multi-step checkout process. | ✅ Complete |
| 🚚 Order Management | Customers can place, track, and manage their orders from their profile. | ✅ Complete |
| 🤖 AI-Powered Chatbot | An integrated AI chatbot (LAMP) to assist users with products and FAQs. | ✅ Complete |
| 📊 Comprehensive Admin Panel | A powerful dashboard for admins to manage products, users, orders, and content. | ✅ Complete |
| 📱 Responsive Design | Fully responsive layout that looks great on desktops, tablets, and mobile. | ✅ Complete |
A quick look at the ShopMaster platform in action.
| Homepage | Product Details | Admin Dashboard |
|---|---|---|
![]() |
![]() |
![]() |
This project follows a classic Model-View-Controller (MVC) architecture powered by Django.
| Category | Technologies |
|---|---|
| Frontend | HTML5, CSS3, JavaScript |
| Backend | Python, Django, Django REST Framework |
| Database | SQLite (Development), PostgreSQL / MongoDB (Production Ready) |
| Authentication | Django Auth, OAuth 2.0 |
| AI / ML | LAMP Stack for the integrated chatbot |
| Styling | Bootstrap / Tailwind CSS (Optional) |
Follow these steps to get the project up and running on your local machine.
- Python 3.10+
- Pip & Virtualenv
-
Clone the Repository
git clone [https://github.com/your-username/shopmaster.git](https://github.com/your-username/shopmaster.git) cd shopmaster -
Create and Activate a Virtual Environment
# For Linux/Mac python3 -m venv venv source venv/bin/activate # For Windows python -m venv venv venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Set Up Environment Variables
- Create a
.envfile in the project root. - Copy the contents of
.env.example(if you have one) or use the template below.
Click to see .env template
# Django Settings SECRET_KEY=your_very_strong_secret_key DEBUG=True # Database DATABASE_URL=sqlite:///db.sqlite3 # Email Settings (for password reset, etc.) 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
- Create a
-
Run Database Migrations
python manage.py makemigrations python manage.py migrate
-
Create a Superuser (Admin)
python manage.py createsuperuser
You'll be prompted to create a username, email, and password for the admin account.
-
Run the Development Server
python manage.py runserver
Your application should now be running at 👉 http://127.0.0.1:8000
Click to view the project file tree
shopmaster/
│
├── .env # Environment variables (SECRET_KEY, DEBUG, DATABASE_URL, etc.)
├── .gitignore # Files and folders to be ignored by Git
├── manage.py # Django's command-line utility for administrative tasks
├── README.md # Project documentation
└── requirements.txt # Project dependencies
│
├── shopmaster/ # Main project configuration directory
│ ├── __init__.py
│ ├── settings.py # Project settings
│ ├── urls.py # Project-level URL routing
│ ├── wsgi.py # Entry-point for WSGI-compatible web servers
│ └── asgi.py # Entry-point for ASGI-compatible web servers
│
├── accounts/ # App for user authentication, profiles, and management
│ ├── migrations/
│ ├── templates/accounts/ # App-specific templates (e.g., login.html, profile.html)
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
│
├── products/ # App for product catalog, categories, search, and reviews
│ ├── ... (and other standard app files)
│
├── cart/ # App for shopping cart functionality
│ ├── ... (and other standard app files)
│
├── orders/ # App for checkout, order history, and payment processing
│ ├── ... (and other standard app files)
│
├── chatbot/ # App for the AI chatbot functionality
│ ├── ... (and other standard app files)
│
├── static/ # Project-wide static files (CSS, JS, Images)
│ ├── css/
│ ├── js/
│ └── images/
│
├── templates/ # Project-wide templates (base layout, navbar, etc.)
│ ├── base.html
│ └── includes/
│
└── media/ # For user-uploaded files (e.g., product images)
└── products/
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. 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
This project is distributed under the MIT License. See LICENSE file for more information.

