← Back to Portfolio

Cloud-Native / MicroservicesOct 2025 – Nov 2025

FitCalorie Microservice Application

Java 17Spring BootSpring CloudRabbitMQPostgreSQLMongoDBGoogle Gemini AIKeycloakReact.jsTailwind CSSDocker

01 Explanation

A distributed fitness tracking platform built to provide personalized AI activity recommendations using Google Gemini. Designed as a capstone project to master microservices patterns and Spring Cloud architecture — the kind of distributed system design you'd find in a real production environment, not just a tutorial CRUD app.

02 Implementation

Most fitness app tutorials teach you a single Spring Boot monolith. I wanted to go further and actually understand how microservices communicate, how Eureka service discovery works, how an API Gateway fits in, and how event-driven messaging ties everything together asynchronously. Implemented independent services orchestrated through the Spring Cloud ecosystem (Eureka, Gateway, Config). Integrated Google Gemini API to analyze user activity logs. Created event-driven communications using RabbitMQ and employed Polyglot Persistence via PostgreSQL and MongoDB.

03 Issue Resolution

Overcame monolithic scaling limitations by fully decoupling systems. Resolved cross-service and client-edge authorization hurdles by locking down the APIs with Keycloak (OAuth2/OIDC) and implementing strict PKCE flows on the React 19 frontend. Solved asynchronous communication challenges between the Activity Service and AI Service using RabbitMQ message queuing.