Skip to content
/ fitdata Public

A fitness data visualization portal that displays steps and heart rate metrics with interactive charts and configurable date ranges.

Notifications You must be signed in to change notification settings

mkutlu/fitdata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fitdata Dashboard

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.

Key Features

  • 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. Heart Rate Analytics
  • Sleep Quality Insights: Understand your rest better. Visualize your sleep stages (Deep, Light, REM) and track your overall sleep efficiency to improve your recovery. Sleep Analysis
  • 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. Steps and Weight Trends
  • Responsive Dashboard: A fully customizable and responsive grid layout that adapts to any screen size.

Tech Stack

Backend

  • 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

Frontend

  • 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

Getting Started

Prerequisites

  • Java 23
  • Node.js 22+
  • A Fitbit Developer Account (to get Client ID/Secret)

Local Development

  1. Clone the repository:

    git clone https://github.com/your-repo/fitdata.git
  2. Backend Setup:

  3. Frontend Setup:

    • Navigate to frontend
    • Run npm install
    • Run npm run dev

Deployment

This project is fully prepared for deployment on Railway using the included Dockerfile and railway-env.json. See DEPLOYMENT.md for detailed instructions.

License

This project is for personal use and data visualization. See PRIVACY.md and TERMS.md for more details.

About

A fitness data visualization portal that displays steps and heart rate metrics with interactive charts and configurable date ranges.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published