FitCoach AI is an intelligent fitness platform that leverages artificial intelligence to deliver personalized workout routines, nutrition plans, and comprehensive progress tracking. Built on a modern microservices architecture, the platform provides secure, scalable, and adaptive fitness guidance tailored to each user's unique goals.
- Personalized Workout Plans – Custom routines based on individual fitness goals and experience levels
- AI-Powered Nutrition Guidance – Smart meal recommendations generated by OpenAI
- Progress Analytics – Comprehensive tracking and visualization of fitness journey
- Secure Authentication – Enterprise-grade security with role-based access control
- Adaptive AI Suggestions – Continuously improving recommendations based on user activity
- Spring Boot – Robust microservice development and RESTful APIs
- Spring Cloud – Service discovery (Eureka) and centralized configuration
- API Gateway – Unified entry point with intelligent routing
- Keycloak – OAuth2 and JWT-based authentication and authorization
- OpenAI API – AI-driven fitness and nutrition recommendations
- Docker – Containerized microservices for consistent deployment
- AWS EC2 – Cloud hosting and scalable infrastructure
- React.js – Modern, responsive user interface with seamless interactions
- Vite – Fast build tooling and development experience
- User Service – User registration, authentication, and profile management
- Activity Service – Complete workout plan management and tracking
- AI Service – Integration with OpenAI for intelligent recommendations
- Config Server – Centralized configuration management for all services
- Eureka Server – Service discovery and health monitoring
- API Gateway – Request routing, load balancing, and security filtering
FitCoach AI implements enterprise-grade security using Keycloak, featuring:
- OAuth2 authentication flow
- JWT token validation
- Role-based access control (RBAC)
- Secure API endpoints with fine-grained permissions
The platform harnesses OpenAI's GPT models to generate personalized fitness and nutrition recommendations. The AI analyzes user goals, preferences, activity history, and progress data to provide intelligent, context-aware suggestions that evolve with the user's fitness journey.
- Java 17+
- Node.js 18+
- Docker and Docker Compose
- Keycloak instance
-
Clone the repository
git clone <repository-url> cd FitForge-AI
-
Configure environment variables
- Set up OpenAI API
- Configure Keycloak connection details
- Update database credentials
-
Start backend services
# Start Config Server first cd configserver && ./mvnw spring-boot:run # Start Eureka Server cd eureka && ./mvnw spring-boot:run # Start remaining microservices cd userservice && ./mvnw spring-boot:run cd activityservice && ./mvnw spring-boot:run cd aiservice && ./mvnw spring-boot:run cd gateway && ./mvnw spring-boot:run
-
Launch frontend
cd fitness-app-frontend npm install npm run dev -
Access the application
- Frontend:
http://localhost:5173 - API Gateway:
http://localhost:8080 - Eureka Dashboard:
http://localhost:8761
- Frontend: