A Django-based e-commerce backend API providing endpoints for product catalog, user authentication, customer management, ordering, and cart functionality.
- Custom user model and JWT authentication via Djoser.
- Product catalog including collections, products, and reviews.
- Cart and order management system.
- Asynchronous task processing using Celery and Redis.
- Background caching with Redis.
- API performance profiling using Django Silk and Debug Toolbar.
- Django 5.x
- Django REST Framework (DRF)
- Celery & Redis
- Djoser (JWT Authentication)
- SQLite (Default database)
store: Core e-commerce logic (products, collections, carts, orders, reviews, customers).core: Custom user management and authentication serializers.tags&likes: Generic content classification and user interaction models.playground: Experimental and background task endpoints.
- Python 3.x
- Redis server running on
localhost:6379(for Celery and caching).
- Clone the repository and navigate to the project root.
- Create and activate a Python virtual environment.
- Install the required dependencies.
- Set up environment variables by copying
.env.exampleto.env. - Apply database migrations:
python manage.py migrate
- Start the Django development server:
python manage.py runserver
- Start the Celery worker for background tasks:
celery -A storefront worker --loglevel=info
- Start the Celery beat scheduler:
celery -A storefront beat --loglevel=info