A production-style backend service built with Quarkus (Java 21), focused on real-time offer validation and processing.
This project demonstrates how to design and implement a high-throughput backend service using modern Java and Quarkus, applying clean architecture principles and Test-Driven Development (TDD).
It is intentionally designed as a realistic microservice, not a toy example.
- Quarkus (Java 21)
- REST APIs
- Constructor-based dependency injection
- Layered architecture (resource → service → domain)
- Centralized validation and error handling
- Isolated cache key strategy
Client
|
v
REST Resource
|
v
Service Layer
|
v
Domain / Business Logic
|
+--> Validation
|
+--> Cache Key Strategy
|
+--> Standardized Error Handling
+-------------------+
| Client |
+-------------------+
|
v
+-------------------+
| REST Resource |
| HTTP entrypoint |
+-------------------+
|
v
+-------------------+
| Service Layer |
| orchestration/use |
| cases |
+-------------------+
|
v
+-------------------+
| Domain / Business |
| Logic |
+-------------------+
/ | \
v v v
+---------+ +-------------+ +----------------------+
|Request | | Cache Key | | Standardized Error |
|Validation| | Strategy | | Handling / Responses |
+---------+ +-------------+ +----------------------+
- TDD-first approach: features start from failing tests
- No field injection: improved testability and clarity
- Standardized error responses: consistent API behavior
- Separation of concerns across layers
- Cache key isolation to avoid hidden coupling
- Java 21
- Quarkus
- JUnit 5
- Mockito
- Maven
The project follows a strict TDD approach:
- Tests are written before implementation
- Validation scenarios are explicitly tested
- Focus on behavior rather than implementation details
Run tests:
./mvnw test./mvnw quarkus:dev- Request validation with meaningful error responses
- Clean service layer abstraction
- Cache-ready architecture
- Testable and maintainable codebase
This project was developed using AI-assisted tools, with a strong focus on:
- Code correctness and validation
- Avoiding "AI-generated noise"
- Maintaining clean, production-quality code
All generated code was reviewed, validated, and refined through TDD.
This repository is intended to demonstrate:
- Hands-on expertise with Quarkus
- Backend architecture skills
- Testing discipline (TDD)
- Production-oriented coding practices
Menashe Eliezer
Senior Backend Engineer
LinkedIn: https://linkedin.com/in/menashe-eliezer-254267