Skip to content
SS·

Case study

Ecommerce_django

A full-surface Django e-commerce platform from my learning years — auth with OTP verification, DRF APIs with custom permissions, orders and discounts, tests, and one-command Docker setup.

Context

An earlier project, and I present it as exactly that: a complete e-commerce platform I built in my learning years to cover the entire product surface of a Django backend — not a tutorial follow-along, but a from-scratch build of everything a small shop needs. It doesn't represent how I architect systems today, but it shows the foundation those skills grew from.

Scope

  • Customers: registration and login with an OTP verification-code flow, full password-reset journey, profile management, multiple delivery addresses, and a wishlist.
  • Catalog and orders: categorized product listings, cart, discount codes, and order history.
  • Comments: product reviews wired into the catalog.
  • API layer: a dedicated DRF app exposing the store over REST, side by side with the server-rendered storefront.

Engineering details

  • Custom DRF permission classes — object-level ownership checks (IsOwner) and role gates (SuperUserCanSee) instead of view-level ad-hoc conditionals.
  • PostgreSQL + Docker Compose — the whole stack starts with a single docker-compose up --build.
  • Tests — model tests plus live-server tests, an early habit that stuck.
  • Constants, validators, and custom model managers pulled into dedicated modules rather than scattered through views.

What it demonstrates

Breadth at the foundation level: authentication flows beyond the happy path, permission design, relational modeling for a real domain, REST alongside server-rendered pages, and a containerized development environment — the groundwork underneath the microservices and async systems I build professionally now.