This Django-based E-commerce project is designed to offer a robust and scalable solution for online retail businesses. Leveraging Django's powerful framework, along with PostgreSQL database management system and Docker for containerization, this project provides a comprehensive platform for managing various aspects of an online store.
-
Advanced Database Design: The project implements a complex and optimized database schema using PostgreSQL, ensuring efficient data storage and retrieval.
-
Dockerized Environment: Docker containers are utilized to encapsulate the entire application stack, including Django, PostgreSQL, pgAdmin, Elasticsearch, Celery, Flower, and Celery Beat. This facilitates easy deployment and scalability.
-
Elasticsearch Integration: Elasticsearch is integrated to provide fast and accurate search functionality for products, enabling users to quickly find desired items.
-
Celery for Asynchronous Task Processing: Celery is employed for handling asynchronous tasks such as order processing, email notifications, and other background jobs, enhancing system responsiveness and scalability.
-
Admin Panel with pgAdmin: pgAdmin is included for efficient management of the PostgreSQL database, allowing administrators to perform various database-related tasks with ease.
-
RESTful API with Swagger Documentation: The project provides a RESTful API powered by Django REST Framework, enabling seamless integration with third-party services and client applications. Swagger API documentation ensures clear and comprehensive API reference.
-
JWT Authentication: JSON Web Token (JWT) authentication is implemented to secure API endpoints, providing a stateless and scalable authentication mechanism.
-
Dashboard App
- User (Custom User Model)
-
Inventory
- Category
- Product
- ProductType
- Brand
- ProductAttribute
- ProductAttributeValue
- ProductInventory
- Media
- Stock
-
Promotion
- PromotionType
- Coupon
- Promotion
- ProductsOnPromotion
- Django
- Django Bootstrap5
- Django CORS Headers
- Django Elasticsearch
- Django MPTT
- Django REST Framework
- Djagno REST Framework - Simple JWT
- DRF - yasg (Swagger UI)
- Faker
- Pytest
- Celery
- Django Lint (djLint)
- Psycopg2 (psycopg2-binary)
- Redis
- Selenium
- WhiteNoise
- Docker
- Celery
- Postgres Database
- PgAdmin
- Celery Beat
- Flower