WebsiteHub
This site. Angular 21 frontend over a Spring Boot 4.1 REST API, deployed as a static site plus a Docker web service. Each card links out to its project's own deployment.

Case study
Problem
A portfolio hub needed to showcase several independently-hosted projects without becoming a monolith that embeds their code, while staying easy to extend as a real database replaces the in-memory data.
Approach
Angular 21 renders three interchangeable landing layouts (Ledger, Gallery, Dossier) off one dataset from a Spring Boot 4.1 REST API, structured as Controller → Service → Repository with in-memory repositories behind interfaces, so a real database is a one-class swap with no change to the layers above.
Outcome
Live as a prerendered static site on GitHub Pages with the API as a free-tier Docker web service; a deploy-time snapshot of that API keeps every page complete while the service wakes, and each project card links out to that project's own deployment rather than embedding it.
What it does
Links out, never embeds
The hub only knows a project's name, description and URLs; every project stays independently built and deployed.Controller → Service → Repository
In-memory repositories behind interfaces, so a real database is a one-class swap with no change to the layers above.Three landing layouts, one dataset
Ledger, Gallery and Dossier render the same /api data; switch between them with ?layout=ledger|gallery|dossier.
