Java Web

Server (Java Backend)

Server Infrastructure

Layered Architecture

Data Flow GIF

Quarkus & Hibernate

Project Overview

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.

Technical Stack

This project utilizes industry-standard frameworks to build a modern backend web application in Java:

API Request
Database

Strict Layered Architecture

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).

Implemented Game Features

The API endpoints allow the client frontend to perform various actions:

Conclusion

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.