Backend engineering
Java Backend Systems
Secure APIs organized around clear domain boundaries
Backend architecture and implementation
2025
Open-source educational systems
OVERVIEW
Two Spring Boot systems exploring layered architecture, validation, authentication, authorization, domain lifecycles, and predictable service boundaries.
Problem
Backend learning becomes more useful when domain rules, persistence, transport, validation, and security are separated instead of accumulated in controllers.
Constraints
The systems remain educational and repository-verifiable. They do not claim production traffic, deployed scale, or business outcomes.
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.
Key decisions
DTO validation, custom exceptions, structured errors, and service-owned business rules keep transport and domain responsibilities distinct.
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.
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.
Testing & evaluation
Service logic is structured to be testable. Exact test coverage remains documented by each repository rather than summarized with invented metrics.
Result
Together, the projects document a deeper move from building endpoints to designing domain boundaries and security rules.
Limitations
Payment behavior is mocked, persistence and deployment choices are educational, and neither repository is presented as a production service.
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
INSPECT THE WORK
RepositoryRepository