A production-style Django backend for an e-commerce platform built to practice real-world backend architecture, authentication systems, and scalable API design.
This project is a backend-only e-commerce system built with Django, focusing on:
- Authentication & Authorization
- Scalable project structure
- Clean architecture principles
- Real-world backend patterns (signals, CBVs, modular apps)
- Dockerized development environment
The goal of this project is to simulate a production-ready backend system, not just a tutorial project.
- Python 3.x
- Django
- Django REST Framework (future expansion)
- PostgreSQL
- Docker & Docker Compose
- Redis (planned for async tasks)
- Celery (planned for background jobs)
- Custom User model (AbstractUser)
- Login / Logout / Register system
- Session-based authentication
- Django messages integration
- One-to-One Profile model
- Automatic profile creation using signals
- Protected views using LoginRequiredMixin
- Separation of authenticated/unauthenticated flows
- Modular Django app structure
- Separation of concerns (views, models, forms)
- CBV + FBV hybrid approach based on use-case
docker-compose up --builddocker-compose exec web python manage.py migratedocker-compose exec web python manage.py createsuperuserdjango-ecommerce-backend/
│
├── apps/
│ └── accounts/
│ ├── models.py
│ ├── views.py
│ ├── forms.py
│ ├── signals.py
│ └── urls.py
│
├── config/
│ ├── settings.py
│ ├── urls.py
│
├── templates/
├── static/
├── docker-compose.yml
├── Dockerfile
└── manage.py
- Django authentication internals
- Custom user model design
- Signals and lifecycle hooks
- Class-Based vs Function-Based views
- Dockerized development workflow
- Git branching and PR-based development
- Role-Based Access Control (RBAC)
- Django REST Framework API layer
- JWT Authentication
- Product & Order system
- Cart & Checkout flow
- Celery + Redis background tasks
- Email system (password reset, notifications)
- Payment integration (Stripe or similar)
This project is part of my journey to become a professional Python/Django backend developer, focusing on real-world architecture and scalable systems.
Esmael Hoosini GitHub: https://github.com/esmael1997 LinkedIn: https://www.linkedin.com/in/esmael-hoosini-58683b1b1