biotrackr is a personal health platform that integrates with the Fitbit API to collect, analyze, and provide insights on health and fitness data. The application follows a microservices architecture deployed on Azure, with comprehensive CI/CD pipelines and infrastructure as code.
The application follows a microservices architecture with separate services for different health domains:
- Activity Service: Processes and stores physical activity data from Fitbit
- Sleep Service: Manages sleep tracking and analysis
- Weight Service: Handles weight measurements and trends
- Food Service: Tracks nutrition and food logging data from Fitbit
- Auth Service: Manages authentication and authorization with Fitbit API
- MCP Server: Model Context Protocol server exposing all health data as MCP tools for AI assistants
- UI: Blazor Server dashboard for visualizing activity, sleep, weight, and food data
Each service consists of:
- API Layer: RESTful endpoints for data access
- Service Layer: Business logic and integration with Fitbit API
- Data Layer: Azure Cosmos DB for persistence
- π Activity Tracking: Comprehensive workout and activity data collection
- π΄ Sleep Analysis: Sleep patterns, stages, and quality metrics
- βοΈ Weight Management: Weight tracking and trend visualization
- π Food Logging: Nutrition tracking and food diary management
- π Secure Authentication: OAuth integration with Fitbit
- π Data Insights: Analysis and reporting on health metrics
- π€ MCP Integration: AI-ready via Model Context Protocol server with 12 tools across all health domains
- π₯οΈ Web Dashboard: Blazor Server UI for browsing and visualizing health data
- βοΈ Cloud-Native: Fully deployed on Azure with auto-scaling
- π CI/CD: Automated testing, deployment, and infrastructure management
- .NET 10.0: Modern C# microservices
- Azure Functions: Serverless compute for background processing
- Azure Cosmos DB: NoSQL database for scalable data storage
- Azure App Configuration: Centralized configuration management
- Azure Key Vault: Secure secrets management
- Bicep: Infrastructure as Code (IaC) for Azure resources
- GitHub Actions: CI/CD pipelines and workflow automation
- Docker: Containerization for consistent environments
- Azure API Management: API gateway with JWT validation for secure managed identity authentication
- ModelContextProtocol SDK: MCP server with Streamable HTTP transport
- Blazor Server: Interactive server-rendered UI with .NET 10.0
- OpenTelemetry: Distributed tracing and metrics
- xUnit: Unit and integration testing framework
- FluentAssertions: Readable test assertions
- Moq: Mocking framework for unit tests
- Cosmos DB Emulator: Local database testing
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Author: willvelida
For questions or feedback, please open an issue on this repository.