Welcome to the Django E-Commerce Online Shop project! This project aims to provide a fully-featured online shopping platform built using the Django web framework. With a focus on modularity and extensibility, this project encompasses essential functionalities such as product catalog management, a seamless shopping cart experience, checkout processes, payment integration, invoice generation, and more.
To get started with the Django E-Commerce Online Shop, follow these steps:
- Python 3.x
- Virtual environment (recommended)
- Django (install via
pip install django
) - Celery and RabbitMQ (for asynchronous tasks)
-
Clone the repository:
git clone https://github.com/Mtumish1/-Django-Online-Tech-Shop.git
-
Navigate to the project directory:
cd django-e-commerce
-
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows, use 'venv\Scripts\activate'
-
Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
The development server should now be running at http://localhost:8000/
.
- Customize the project settings in
settings.py
to suit your needs. - Set up payment gateway credentials and other configurations in the respective files.
- Product Catalog: Create and manage an extensive product catalog with detailed information and images.
- Shopping Cart: Implement a user-specific shopping cart using Django sessions.
- Discount Codes: Allow users to apply discount codes during checkout for promotional purposes.
- Checkout Process: Guide users through a seamless and secure checkout process.
- Payment Integration: Integrate a payment gateway for credit card transactions.
- Invoice Generation: Automatically generate and send invoices upon successful payment.
- Recommendation Engine: Implement a recommendation engine to enhance the user experience.
- Internationalization: Offer the online shop in multiple languages to cater to a global audience.
- Custom Context Processors: Efficiently share context data across multiple views.
- Customer Orders Management: Enable customers to view and manage their order history.
- Celery Configuration: Utilize Celery with RabbitMQ for asynchronous task processing.
- Asynchronous Notifications: Send asynchronous notifications to customers using Celery.
- Monitoring with Flower: Monitor Celery tasks using Flower for improved visibility.
We welcome contributions from the community! If you have ideas for new features, improvements, or bug fixes, please open an issue or submit a pull request.
For more information on contributing, please refer to the Contributing Guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
Special thanks to the Django community and contributors for their invaluable tools and resources that make projects like these possible.
Happy shopping!