Skip to content

mervetas/Django-Ecommerce-Website

Repository files navigation

Box - Django E-commerce Website

Django Python SQLite

A full-featured e-commerce website built with Django featuring complete shopping cart functionality, user authentication, product management, and review system.

✨ E-commerce Features

🛍️ Shopping Experience

  • User Registration & Authentication - Secure user account system
  • Product Catalog with Categories - Organized product listings
  • Advanced Shopping Cart - Add/remove items with quantity control
  • Product Search & Filtering - Find products easily
  • Product Reviews & Rating System - User feedback and ratings
  • Favorite Products - Save items for later purchase
  • Responsive Product Gallery - Mobile-friendly product displays

⚙️ Admin Management

  • Complete Product Management - Add, edit, delete products
  • Category Management - Organize products by categories
  • Image Upload System - Product images with Pillow integration
  • Inventory & Price Management - Stock control and pricing
  • User Account Management - Customer account oversight
  • Order Processing - Manage customer orders

🎨 User Experience

  • Responsive Design - Mobile-first responsive interface
  • Real-time Cart Counter - Live shopping cart updates
  • Favorite Items Counter - Track saved products
  • Intuitive Navigation - User-friendly interface
  • Clean Product Pages - Detailed product information

🚀 Quick Start

Prerequisites

  • Python 3.10 or higher
  • pip (Python package manager)

Installation Steps

  1. Clone the repository:
git clone https://github.com/mervetas/Box.git
cd Box
  1. Create and activate virtual environment:
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python -m venv venv
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Run database migrations:
python manage.py migrate
  1. Create superuser (optional):
python manage.py createsuperuser
  1. Start development server:
python manage.py runserver
  1. Access the application: Website: http://127.0.0.1:8000

Admin Panel: http://127.0.0.1:8000/admin

📁 Project Structure

Box/
├── media/                 # User uploaded files (images, documents)
├── product/               # Product management app
│   ├── migrations/        # Database migration files
│   ├── templates/product/ # Product-related templates
│   │   ├── cart_detail.html      # Shopping cart page
│   │   ├── product_detail.html   # Product details page
│   │   └── product_list.html     # Product listing page
│   ├── models.py          # Database models
│   ├── views.py           # View functions
│   └── urls.py            # URL routing
├── shop/                  # Main project configuration
│   ├── settings.py        # Project settings
│   └── urls.py            # Main URL configuration
├── users/                 # User management app
│   ├── templates/users/
│   │   └── register.html  # User registration page
│   ├── models.py          # User models
│   └── views.py           # User views
├── db.sqlite3             # SQLite database
├── manage.py              # Django management script
├── requirements.txt       # Python dependencies
└── README.md              # Project documentation

🛠️ Admin Panel Usage

Accessing Admin Panel

Visit: http://127.0.0.1:8000/admin

  • Kullanıcı: admin
  • Şifre: 1234

Managing Content

Products - Add, edit, or remove products with images

Categories - Manage product categorization

Users - View and manage customer accounts

Reviews - Monitor product reviews and ratings

🔧 Development

Creating Migrations

python manage.py makemigrations
python manage.py migrate

Running Tests

python manage.py test

Static Files

python manage.py collectstatic

🌐 Production Deployment

Key Steps for Production

Set DEBUG = False in settings

Configure ALLOWED_HOSTS with your domain

Use environment variables for sensitive data

Set up proper static files serving

Configure database for production use

Security Checklist

Change default SECRET_KEY

Use environment variables for credentials

Configure proper CORS settings

Set up HTTPS/SSL

Implement backup strategy

🤝 Contributing

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

📞 Contact

Merve Taş - tmerve55@gmail.com

Project Link: https://github.com/mervetas/Box

⚠️ Usage Notice

This project is shared for learning and portfolio purposes.
Unauthorized commercial use, redistribution, or claiming ownership of this code is strictly prohibited.
If you find this useful, please provide proper credit to Merve Taş.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Django Framework

Bootstrap for frontend components

Pillow for image processing

About

Full-featured Django e-commerce website with user authentication, product management, and shopping cart system.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors