This is a backend project for an e-commerce site developed using Python, Django, MySQL, Django Rest Framework (DRF), Restful API, JWT (JSON Web Tokens), Redis, Celery, Pytest, Locust, and Docker.
- Create and manage products, categories, and user accounts.
- Handle customer orders, and shopping carts.
- Secure user authentication and authorization using JWT tokens.
- Real-time data with Redis for caching and queuing.
- Asynchronous task processing with Celery.
- Comprehensive test coverage with Pytest.
- Load testing using Locust.
- Python: Version 3.8.10
- Django: Version 3.0.4
- MySQL: Database system for data storage.
- Django Rest Framework: A powerful and flexible toolkit for building Web APIs.
- Restful API: Design principles for API development.
- JWT (JSON Web Tokens): Used for secure user authentication.
- Redis: For caching and message queuing.
- Celery: Distributed task queue for background processing.
- Pytest: Testing framework for unit and integration testing.
- Locust: Load testing tool to evaluate system performance.
- Docker: Containerization for easy deployment.
- Clone the repository:
git clone https://github.com/yourusername/your-ecommerce-backend.git
- Create a virtual environment and activate it.
- Install the required dependencies:
pip install -r requirements.txt
- Configure your database settings in
settings.py
. - Run migrations:
python manage.py migrate
- Start the development server:
python manage.py runserver
- /api/products/: Endpoint for managing products.
- /api/carts/: Endpoint for managing shopping carts.
- /api/orders/: Endpoint for handling customer orders.
- /api/auth/: Authentication and user account management.
We welcome contributions to improve this project. If you want to contribute, follow these steps:
- Open an issue to discuss what you'd like to improve or add.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Implement your changes.
- Write tests for your code.
- Ensure all tests pass.
- Submit a pull request.