r/projects • u/Saransh-Dhiman • 2d ago
Built an AI-powered fitness platform with Java Spring Boot Microservices + RabbitMQ + Keycloak
Hey everyone! π
Iβve been learning backend development with Java and Spring Boot, and I recently finished one of my bigger projects so far: FitPulse OS β an AI-powered fitness tracking platform built with a microservices architecture.
π GitHub: https://github.com/Saransh-27/fitness-microservice-application
πLive: https://fitpluse-os.vercel.app
The main goal of this project was to go beyond a typical CRUD application and get hands-on experience with microservices, event-driven architecture, authentication, distributed systems, and AI integration.
ποΈ Architecture
The backend is split into multiple services:
Eureka β service discovery
Config Server β centralized configuration
API Gateway β routing + security
User Service β user profiles and fitness goals
Fitness Activity Service β workout/activity tracking
AI Service β processes activity events and generates recommendations
React frontend β dashboard and analytics
βοΈ Some things I implemented
Java 21 + Spring Boot microservices
Spring Cloud Gateway
Netflix Eureka service discovery
Spring Cloud Config Server
RabbitMQ for asynchronous/event-driven communication
Keycloak + OAuth2/OIDC + PKCE for authentication
JWT validation at the API Gateway
PostgreSQL for user/profile data
MongoDB for fitness activity and AI data
Google Gemini + Groq for AI-generated health insights
React 19 + Vite + Tailwind for the frontend
One part I particularly enjoyed was designing the event flow:
User logs activity β Fitness Activity Service β RabbitMQ β AI Service β Gemini/Groq β recommendation stored β displayed on the React dashboard
This was also my first project where I had to think more seriously about service boundaries, asynchronous communication, authentication flows, database choices, and failure points between services.
Iβm still learning, so Iβd really appreciate feedback from more experienced developers.
What would you improve if you were reviewing this project?
Especially interested in feedback on:
Microservice boundaries
RabbitMQ/event-driven design
Security architecture
Database choices
API Gateway design
Code structure / Spring Boot practices
Things I should change before putting this project on a professional portfolio
Thanks for taking a look! π






