Layered Architecture
Quarkus & Hibernate
Yakamon is a creature-collecting adventure game where a player explores a grid-based map to
collect resources and capture magical creatures called yakamons.
The goal of this project was to create the entire backend of the game by implementing a RESTful API.
Grade achieved: 100% in automated testing (moulinette) and rigorous code review.
This project utilizes industry-standard frameworks to build a modern backend web application in Java:
Adhering to a proper architectural pattern was a key objective, ensuring modularity and maintainability. This project strictly follows a layered architecture pattern:
| Layer | Components | Responsibility |
|---|---|---|
| Presentation | Controllers & DTOs | Serve as entry points to the backend, validating requests, delegating tasks, and structuring data exchanges using Data Transfer Objects. |
| Business | Services & Entities | Contains the core logic of the application. Services coordinate data retrieval and updates, while Entities represent core business objects. |
| Data | Repositories & Models | Manage all database-related operations without any business logic. Models represent the database schema. |
| Converters | Data Transformation | Ensure independence between layers by transforming data objects (e.g., DTOs to Entities, Entities to Models). |
The API endpoints allow the client frontend to perform various actions:
Yakamon provided an incredible opportunity to learn how real-world Java backends are structured. Passing all strict architecture tests, API response evaluations, and database persistence checks proved my capability to deliver robust cloud-native APIs.