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.