PROJECT 04← All work

Backend engineering

Java Backend Systems

Secure APIs organized around clear domain boundaries

ROLE

Backend architecture and implementation

YEAR

2025

STATUS

Open-source educational systems

OVERVIEW

Two Spring Boot systems exploring layered architecture, validation, authentication, authorization, domain lifecycles, and predictable service boundaries.

01

Problem

Backend learning becomes more useful when domain rules, persistence, transport, validation, and security are separated instead of accumulated in controllers.

02

Constraints

The systems remain educational and repository-verifiable. They do not claim production traffic, deployed scale, or business outcomes.

03

Architecture

Both projects use layered Spring Boot boundaries. The commerce API covers catalog, cart, order, and payment domains; RideShare covers identity, role authorization, booking, and ride lifecycle state.

04

Key decisions

DTO validation, custom exceptions, structured errors, and service-owned business rules keep transport and domain responsibilities distinct.

05

Walkthrough

The commerce system includes a mock payment gateway and webhook-style asynchronous confirmation. RideShare models requested → accepted → in-progress → completed with authenticated and authorized roles.

06

Security, safety & reliability

RideShare uses Spring Security, JWT, and RBAC. Both systems use validation, global error handling, and layered boundaries that keep failure behavior more predictable.

07

Testing & evaluation

Service logic is structured to be testable. Exact test coverage remains documented by each repository rather than summarized with invented metrics.

08

Result

Together, the projects document a deeper move from building endpoints to designing domain boundaries and security rules.

09

Limitations

Payment behavior is mocked, persistence and deployment choices are educational, and neither repository is presented as a production service.

10

Lessons

A clear backend is easier to reason about when each layer has a small and enforceable job.

PROJECT-LOCAL PROOF

Controller, service, and repository responsibilities are separated

Validation and structured error handling make contracts explicit

Authentication and RBAC constrain RideShare workflows

NEXT PROJECT / 05

TOMATO