MilkyWay Test Env
Pre-configured Docker Compose test environment for the lab services, with automated service discovery via Traefik and Prometheus + Grafana monitoring.
Hi, I'm
Java Developer focused on Spring ecosystems, home-lab infrastructure and system monitoring. Building and maintaining distributed services at MilkyWay-HomeLabs.
01 / Skills
02 / Projects
A personal microservices ecosystem built for testing and development. Focused on automated deployment, secure communication and monitoring.
Foundation Layer
The backbone of the ecosystem: essential infrastructure, secure authentication and automated service management.
Pre-configured Docker Compose test environment for the lab services, with automated service discovery via Traefik and Prometheus + Grafana monitoring.
JWT authorization server for the whole ecosystem: refresh token rotation with incident tracking, AES-encrypted tokens at rest, account e-mails (activation, password reset) and Micrometer metrics.
User Hub Platform
The central user hub of the lab: account lifecycle and profile management, plus the gateway other apps use to sign in through Andromeda.
Hexagonal-architecture Spring Boot API for accounts, tokens, profiles, achievements, games and images. JWT + CSRF protection, OpenAPI docs and custom Prometheus business metrics.
React 19 single-page app for the Nebula user hub: registration and onboarding, profile editing, avatar uploads and security settings, with JWT cookie sessions and CSRF protection.
Game + User Management
A .NET 10 user panel for photo galleries, unlockable content, best times and leaderboards, plus a React maze game. Players sign in through Nebula and Andromeda.
ASP.NET Core Web API organised by DDD bounded contexts: gallery catalog, player progress, scoring and maze level templates. PostgreSQL via hand-written SQL.
Server-rendered Blazor user panel: gallery browsing with a detail lightbox, progress tracking and score rankings, using Nebula cookie authentication.
Browser maze game: clear the dots, avoid enemies and use buffs/debuffs. Launched from a gallery, it loads levels from the Hacman API, lets you pick a difficulty and reports your score back.
Chess Career Game
A chess career game: seasons and tournaments run by a Spring Boot API, a React player dashboard and a playable Django game with Stockfish. Deployed to K3s on ARM64.
Hexagonal API organised by bounded context: seasons, round-robin, knock-out and Swiss tournaments, games, saves, rankings, awards and achievements. JWT + CSRF security, OpenAPI docs and Prometheus metrics.
The player's hub: next match, calendar, tournament tables and knock-outs, rankings, awards, trophies, match history, game saves and player profiles, with light and dark themes.
Playable chess against the CPU or another human. Move legality via python-chess, Stockfish for CPU moves, analysis and in-game AI hints, plus Prometheus metrics and a Grafana dashboard.
03 / Archive
Side projects and earlier work, including the Raspberry Pi platform where the ecosystem started.
The original microservices platform: a local, browser-based game service on a Raspberry Pi 5 (Debian 12, ARM). Java services on Tomcat 10, React frontends and MariaDB.
GitHub contribution stats on a Waveshare 2.13" e-paper HAT driven by a Raspberry Pi Zero 2 WH. Six rotating views (calendar tiles, weekly activity, yearly pace, streaks), refreshed by systemd timers.
04 / Contact
Interested in my work, a collaboration or just want to talk Java, Spring or home labs? My inbox is open.