Skip to content

Latest commit

 

History

History
104 lines (81 loc) · 9 KB

File metadata and controls

104 lines (81 loc) · 9 KB

biotrackr

License .NET Azure

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.

📋 Table of Contents

🏗️ Architecture

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
  • Chat API: AI-powered chat agent for querying and analysing health data via natural language
  • 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

✨ Features

  • 🏃 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
  • 💬 AI Chat Agent: Natural language chat interface powered by Claude for querying and analysing health data
  • 🤖 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

🛠️ Tech Stack

Backend

  • .NET 10.0: Modern C# microservices
  • Azure Container Apps: 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
  • Microsoft Agent Framework: AI agent orchestration with Claude (Anthropic) as the LLM backend

Infrastructure

  • 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

Frontend

  • Blazor Server: Interactive server-rendered UI with .NET 10.0
  • OpenTelemetry: Distributed tracing and metrics

Testing

  • xUnit: Unit and integration testing framework
  • FluentAssertions: Readable test assertions
  • Moq: Mocking framework for unit tests
  • Cosmos DB Emulator: Local database testing

Build Status

Component Deployment Status Unit Test Coverage Integration Test Coverage
Infrastructure Deploy Core Biotrackr Infrastructure N/A N/A
Auth Service Deploy Auth Service Code Coverage Integration Tests
Activity Service Deploy Activity Service Code Coverage Integration Tests
Activity API Deploy Activity Api Code Coverage Integration Tests
Sleep API Deploy Sleep Api Code Coverage Integration Tests
Sleep Service Deploy Sleep Service Code Coverage Integration Tests
Weight API Deploy Weight Api Code Coverage Integration Tests
Weight Service Deploy Weight Service Code Coverage Integration Tests
Food API Deploy Food Api Code Coverage Integration Tests
Food Service Deploy Food Service Code Coverage Integration Tests
Chat API Deploy Chat Api Code Coverage Integration Tests
MCP Server Deploy MCP Server Code Coverage Integration Tests
UI Deploy UI N/A N/A

License

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.