A workspace of backend and OOD/LLD exercises in Java, built while strengthening Spring Boot, concurrency-safe persistence, and object-oriented design skills.
A Spring Boot 3 / Java 17 backend for managing product inventory and order lifecycles.
- Layered architecture (Controller / Service / Repository) over Spring Data JPA
- Optimistic locking (
@Version) onOrderandProductentities to prevent lost updates under concurrent requests - JWT-based authentication
- Redis caching (cache-aside) added on top of the base implementation to cut repeated-read latency
- REST API for products and orders, with stock validation and a NEW -> EXECUTED -> CANCELLED order state machine
- Iterated in three stages, kept as separate folders: base MVC, then +JWT, then +JWT+Redis
A low-level design exercise: a multi-class parking lot system (ParkingLot, SlotManager, Ticket, PaymentManager, pluggable PaymentMethod implementations for UPI/credit card, vehicle types) -- practicing interface-based OOP design rather than a single-file script.
A minimal Spring Boot project scaffolded to isolate and practice JWT authentication.
E-commerce1 and E-commerce2 -- full-stack (backend + frontend) practice builds.
practice, exceptionHandling, synchronisationAndMulti-threading* -- core Java exercises (collections, exception handling, basic thread synchronization).
This repository holds several independent practice projects rather than a single application. The Order & Inventory Management System is the most complete and is the one worth reviewing first.
Java 17, Spring Boot 3.2, Spring Data JPA, Spring Security (JWT), Redis, H2/MySQL, Maven.