Features
Features:
- Products
- products (multiple images + main image, title, description, etc.)
- products categories (parent/child categories)
- product dynamic stats
- product comments
- search for products/categories
- filter for products in the category
- Customers
- wish lists
- cart
- compare lists
- bonuses wallet
- customer support request
- Settings
- Orders
- orders
- order reports (view and generation of pdf)
- shipping
- statuses of order / payment / shipment
Installation
pip install drf-shop-api
urlpatterns = [
...
path("shop/", include("drf_shop_api.urls")),
]
- Use
create_shop_profile
decorator on create_user method of your UserManager
from django.contrib.auth.base_user import BaseUserManager
from drf_shop_api.decorators import create_shop_profile
class UserManager(BaseUserManager):
@create_shop_profile
def create_user(self, email, password=None):
if not email:
raise ValueError("Enter the email")
user = self.model(email=self.normalize_email(email))
user.set_password(password)
user.save(using=self._db)
return user
Dependencies
django
drf
drf-yasg 1.21.5
rest_framework_simplejwt
mixer
django-filter
TODO
- Add DB indexes
- Task for currency rate update
- Review permissions