Fitdata is a modern health data visualization dashboard designed to provide deep insights into your physical activity, sleep, and cardiovascular health. By connecting directly to your Fitbit account, it offers a personalized overview of your wellness metrics through an intuitive and responsive interface.
- Daily Readiness Score: Get an estimated readiness score based on your Resting Heart Rate (RHR), Sleep Quality, Activity Load, and Heart Rate Variability (HRV).
- Weekly Exercise Tracking: Monitor your consistency with a "Current Week" view of your exercise frequency.
- Advanced Heart Rate Analytics:
Gain deep insights into your cardiovascular health with high-resolution intraday tracking. Monitor your time spent in Fat Burn, Cardio, and Peak zones to optimize your workouts.

- Sleep Quality Insights:
Understand your rest better. Visualize your sleep stages (Deep, Light, REM) and track your overall sleep efficiency to improve your recovery.

- Activity & Weight Metrics:
Keep track of your physical progress with comprehensive charts for daily steps and body weight trends. Use flexible time ranges to see your long-term improvements.

- Responsive Dashboard: A fully customizable and responsive grid layout that adapts to any screen size.
- Java 23 & Spring Boot 4
- Spring Security with OAuth2 & PKCE for secure Fitbit authentication
- PostgreSQL for persistent storage (Production) / H2 (Local Development)
- Flyway for database migrations
- Spring WebFlux for non-blocking API communication with Fitbit
- React with TypeScript
- Vite for optimized building
- TailwindCSS for a modern, dark-themed UI
- Recharts for high-performance data visualization
- React Grid Layout for a customizable dashboard experience
- Nginx for efficient production serving
- Java 23
- Node.js 22+
- A Fitbit Developer Account (to get Client ID/Secret)
-
Clone the repository:
git clone https://github.com/your-repo/fitdata.git
-
Backend Setup:
- Navigate to
backend - Set environment variables:
FITBIT_CLIENT_ID,FITBIT_CLIENT_SECRET,FITBIT_REDIRECT_URI(http://localhost:8080/oauth/fitbit/callback) - Run
./mvnw spring-boot:run
- Navigate to
-
Frontend Setup:
- Navigate to
frontend - Run
npm install - Run
npm run dev
- Navigate to
This project is fully prepared for deployment on Railway using the included Dockerfile and railway-env.json. See DEPLOYMENT.md for detailed instructions.
This project is for personal use and data visualization. See PRIVACY.md and TERMS.md for more details.