A backend commerce API built across 3 service domains (catalog, cart, order) with JWT-authenticated role-aware authorization, a relational schema optimized for checkout and order lifecycle workflows, and a separate React frontend — 2 public repos.
3
Service domains
JWT + RBAC
Auth layer
2 repos
Frontend + backend
Problem statement
Modeling commerce workflows is mostly about handling edge cases correctly: permission checks, inventory assumptions, order transitions, and keeping endpoints coherent and extensible as business logic grows.
Architecture breakdown
I split the system into 3 explicit service domains — catalog, cart, and order — each with their own resources and validation. JWT-based authentication gates role-aware access, and the relational schema is designed around checkout and order history workflows rather than generic tables.
Tech stack explanation
System diagram
[ Client Apps ]
|
v
[ Auth Layer ] ---> [ User Roles ]
|
v
[ API Gateway / Routes ]
|
+--> [ Catalog Service ] ---> [ Products DB ]
+--> [ Cart Service ] ------> [ Cart Tables ]
+--> [ Order Service ] -----> [ Orders + Payments ]Key challenges
A backend-first commerce platform focused on clear domain separation, predictable API behavior, and a schema that supports catalog, cart, and order lifecycles without coupling everything into a single service layer. Paired with a public React frontend repo.
What I learned