This project is a fully functional e-commerce website built using Django. It supports various features including user authentication, product management, shopping cart, order processing, and more. The platform is designed to be scalable, secure, and user-friendly.
- User Management: Registration, login, logout, and profile management.
- Product Management: Adding, updating, and deleting products.
- Shopping Cart: Add to cart, view cart, update quantities, and remove items.
- Order Processing: Checkout, order history, and order tracking.
- Admin Dashboard: Manage products, orders, and users.
- Search and Filtering: Dynamic search and filters for products.
- Reviews and Ratings: User reviews and ratings for products.
- Wishlist: Add and manage wishlist items.
- Payment Integration: PayPal payment gateway, stripe
- Backend: Django, Django REST framework
- Frontend: HTML, CSS, JavaScript
- Database: SQLite (development), PostgreSQL (production)
- Deployment: Docker, Gunicorn, Nginx
- Python 3.x
- Django 3.x
- Docker (for deployment)
-
Clone the repository:
git clone https://github.com/yourusername/ecommerce-django.git cd ecommerce-django
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
- Environment Variables: Set environment variables in a
.env
file for sensitive information such as database credentials and secret keys. - Static and Media Files: Configure paths for static and media files in
settings.py
.
DEBUG=True
SECRET_KEY=your-secret-key
DB_NAME=your-database-name
DB_USER=your-database-user
DB_PASSWORD=your-database-password
DB_HOST=your-database-host
DB_PORT=your-database-port
- Development:
python manage.py runserver
- Production: Use Docker and Gunicorn for deployment. See the deployment guide.
- Navigate to
http://localhost:8000/admin/
and log in with the superuser credentials.
- Use the admin panel to add, update, or delete products.
- Users can register, log in, view and edit their profiles, add products to their cart, proceed to checkout, and view their order history.
ecommerce-django/
│
├── core/
│ ├── models.py
│ ├── views.py
│ ├── urls.py
│ └── ...
├── templates/
│ ├── base.html
│ ├── index.html
│ ├── ...
├── static/
│ ├── css/
│ ├── js/
│ └── ...
├── manage.py
├── requirements.txt
└── README.md
We welcome contributions! Please read our contributing guidelines for details on the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
For any queries or support, please contact:
- Email: [email protected]