Skip to content

RandomSummer/shopmaster

Repository files navigation

ShopMaster Logo

🛍️ ShopMaster – A Full-Stack E-Commerce Platform

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.

Python Version Django Version Frontend License: MIT


🌟 Key Features

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

📸 Project Showcase

A quick look at the ShopMaster platform in action.

ShopMaster Showcase

Homepage Product Details Admin Dashboard
Homepage Product Admin

🛠️ Tech Stack & Architecture

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)

🚀 Getting Started

Follow these steps to get the project up and running on your local machine.

Prerequisites

  • Python 3.10+
  • Pip & Virtualenv

Installation

  1. Clone the Repository

    git clone [https://github.com/your-username/shopmaster.git](https://github.com/your-username/shopmaster.git)
    cd shopmaster
  2. 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
  3. Install Dependencies

    pip install -r requirements.txt
  4. Set Up Environment Variables

    • Create a .env file 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
  5. Run Database Migrations

    python manage.py makemigrations
    python manage.py migrate
  6. Create a Superuser (Admin)

    python manage.py createsuperuser

    You'll be prompted to create a username, email, and password for the admin account.

  7. Run the Development Server

    python manage.py runserver

    Your application should now be running at 👉 http://127.0.0.1:8000


📂 Project Structure

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/

🤝 How to Contribute

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is distributed under the MIT License. See LICENSE file for more information.


Made with ❤️ by RandomSummer

GitHubLinkedIn

About

this is an ecommerce website built using django

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published