AN

Alex Ndungu

CTO + Software Engineer + ML Engineer

Let's talk
HomeAboutExperienceProjectsSkillsContact
Let's talk
HomeAboutExperienceProjectsSkillsContact

Alex Ndungu

Backend systems, machine learning retrieval, and clean product-minded engineering for teams that care about reliability.

GitHubLinkedInLeetCodealexmeta517@gmail.com
Production Backend Engineering Project

E-Commerce Backend System

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.

  • - 3 service domains (catalog, cart, order) separated into composable, independently testable layers
  • - JWT-authenticated role-aware authorization enforced at the API boundary
  • - Relational schema optimized for checkout state transitions and order history workflows
  • - RESTful resource design with explicit validation and predictable HTTP status handling

Tech stack explanation

JavaSpring BootPostgreSQLJWT AuthReactREST APIs

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.

  • - Built a 3-domain service API demonstrating clear separation of commerce concerns rather than monolithic CRUD endpoints.
  • - Applied JWT auth + RBAC as an architectural concern, not an afterthought.
  • - Shipped 2 public repos (frontend + backend) showing full-stack ownership across Java and React.

What I learned

Good API design is less about endpoint count and more about preserving domain clarity.
Schema design becomes the foundation for workflow flexibility later on.
Authorization needs to be treated as part of architecture, not an afterthought.