Advanced Fitness Analytics Platform - A learning project showcasing modern .NET microservices architecture with AI-powered workout analysis, multi-protocol communication, and clean architecture patterns. Features Strava integration, HuggingFace/Google Gemini AI analysis, comprehensive health monitoring, and production-ready code quality standards.
C#
0
88 commits
updated Mar 8, 2026
Ein wachsendes Analyse- und Lernprojekt rund um Fitness, Trainingsdaten und moderne .NET-Technologien.
Dieses Projekt ist eine persönliche Spielwiese für moderne Softwareentwicklung mit Fokus auf:
✅ Aktuell umgesetzt:
📋 Geplant:

Dieses Projekt verwendet SonarCloud für kontinuierliche Code-Qualitätsüberwachung:
→ Live SonarCloud Dashboard ansehen
🌐 WebAPI (Port 5000) 🤖 AIAssistant (Port 7276)
├── Controllers ├── gRPC Services
├── Application Services ├── HuggingFace Integration
├── Domain Logic ├── Google Gemini Integration
└── Infrastructure └── Multi-Protocol Endpoints
├── Strava API ├── HTTP/REST
├── Database (SQLite) ├── Native gRPC
└── Health Monitoring └── gRPC-JSON Bridge
Frontend → WebAPI → AIAssistant
↓ (konfigurierbar)
├── HTTP/JSON ────→ REST API
├── gRPC ─────────→ Native gRPC
└── gRPC-JSON ────→ JSON Bridge
Drei Kommunikationsprotokolle für flexible Microservice-Integration:
# HTTP/REST - Standard & Browser-kompatibel
POST http://localhost:7276/api/MotivationCoach/motivate
# Native gRPC - High Performance
grpc://localhost:7276/MotivationService/GetMotivation
# gRPC-JSON Bridge - Best of Both Worlds
POST http://localhost:7276/grpc-json/MotivationService/GetMotivation
{
"AIAssistant": {
"ClientType": "GrpcJson", // "Http" | "Grpc" | "GrpcJson"
"BaseUrl": "https://localhost:7276"
}
}
| Protokoll | Performance | Browser Support | Use Case |
|---|---|---|---|
| HTTP/REST | Standard | ✅ Vollständig | Frontend, API-Tools |
| gRPC | ⚡ Sehr schnell | ❌ Eingeschränkt | Service-to-Service |
| gRPC-JSON | Standard | ✅ Vollständig | Hybrid-Integration |
# Workout-Analyse
POST /api/WorkoutAnalysis/analyze/huggingface
POST /api/WorkoutAnalysis/analyze/googlegemini
# Motivation & Coaching
POST /api/MotivationCoach/motivate
# Multi-Protocol via gRPC-JSON Bridge
POST /grpc-json/MotivationService/GetMotivation
POST /grpc-json/WorkoutService/GetWorkoutAnalysis
Live-Überwachung aller Services mit automatischem Refresh:
/health-ui - Visual Dashboard mit Verlauf/health - JSON API für alle Services# Health Dashboard öffnen
open http://localhost:8080/health-ui
# Health Status prüfen
curl http://localhost:8080/health
Backend: .NET 8, Entity Framework Core, Clean Architecture
AI: HuggingFace (Meta-Llama-3.1-8B), Google Gemini
Communication: HTTP/REST, gRPC, gRPC-JSON Bridge
Database: SQLite (Development), SQL Server (Production)
Quality: xUnit, NetArchTest, SonarCloud, FluentAssertions
DevOps: Docker, GitHub Actions, Health Monitoring
Integration: Strava API, Swagger/OpenAPI
Geplant: RabbitMQ (Event-Driven)
git clone https://github.com/lady-logic/FitnessAnalyticsHubV1_0.git
cd FitnessAnalyticsHubV1_0
docker-compose up
# API starten
cd FitnessAnalyticsHub.WebApi && dotnet run
# AI-Service starten
cd AIAssistant && dotnet run
Zugriff:
https://localhost:5001https://localhost:7276/swaggerKonsistente Exception-Behandlung durch Clean Architecture und Global Middleware.
Domain Exceptions
├── ActivityNotFoundException (404)
├── AthleteNotFoundException (404)
└── ValidationException (400)
Infrastructure Exceptions
├── StravaApiException (502)
├── InvalidStravaTokenException (401)
└── AIAssistantApiException (502)
{
"type": "ActivityNotFound",
"message": "Activity with ID 123 not found",
"statusCode": 404,
"timestamp": "2024-01-15T10:30:00Z"
}
Prinzip: Controller sind exception-frei - Global Middleware behandelt alle Fehler zentral.
Die Integration mit der Strava API ermöglicht den Zugriff auf:
Dieses Projekt steht unter der MIT License - siehe LICENSE Datei für Details.
C#
87.6%
TypeScript
6.2%
HTML
3.6%
SCSS
2.1%
Advanced Fitness Analytics Platform - A learning project showcasing modern .NET microservices architecture with AI-powered workout analysis, multi-protocol communication, and clean architecture patterns. Features Strava integration, HuggingFace/Google Gemini AI analysis, comprehensive health monitoring, and production-ready code quality standards.
C#
0
88 commits
updated Mar 8, 2026
Ein wachsendes Analyse- und Lernprojekt rund um Fitness, Trainingsdaten und moderne .NET-Technologien.
Dieses Projekt ist eine persönliche Spielwiese für moderne Softwareentwicklung mit Fokus auf:
✅ Aktuell umgesetzt:
📋 Geplant:

Dieses Projekt verwendet SonarCloud für kontinuierliche Code-Qualitätsüberwachung:
→ Live SonarCloud Dashboard ansehen
🌐 WebAPI (Port 5000) 🤖 AIAssistant (Port 7276)
├── Controllers ├── gRPC Services
├── Application Services ├── HuggingFace Integration
├── Domain Logic ├── Google Gemini Integration
└── Infrastructure └── Multi-Protocol Endpoints
├── Strava API ├── HTTP/REST
├── Database (SQLite) ├── Native gRPC
└── Health Monitoring └── gRPC-JSON Bridge
Frontend → WebAPI → AIAssistant
↓ (konfigurierbar)
├── HTTP/JSON ────→ REST API
├── gRPC ─────────→ Native gRPC
└── gRPC-JSON ────→ JSON Bridge
Drei Kommunikationsprotokolle für flexible Microservice-Integration:
# HTTP/REST - Standard & Browser-kompatibel
POST http://localhost:7276/api/MotivationCoach/motivate
# Native gRPC - High Performance
grpc://localhost:7276/MotivationService/GetMotivation
# gRPC-JSON Bridge - Best of Both Worlds
POST http://localhost:7276/grpc-json/MotivationService/GetMotivation
{
"AIAssistant": {
"ClientType": "GrpcJson", // "Http" | "Grpc" | "GrpcJson"
"BaseUrl": "https://localhost:7276"
}
}
| Protokoll | Performance | Browser Support | Use Case |
|---|---|---|---|
| HTTP/REST | Standard | ✅ Vollständig | Frontend, API-Tools |
| gRPC | ⚡ Sehr schnell | ❌ Eingeschränkt | Service-to-Service |
| gRPC-JSON | Standard | ✅ Vollständig | Hybrid-Integration |
# Workout-Analyse
POST /api/WorkoutAnalysis/analyze/huggingface
POST /api/WorkoutAnalysis/analyze/googlegemini
# Motivation & Coaching
POST /api/MotivationCoach/motivate
# Multi-Protocol via gRPC-JSON Bridge
POST /grpc-json/MotivationService/GetMotivation
POST /grpc-json/WorkoutService/GetWorkoutAnalysis
Live-Überwachung aller Services mit automatischem Refresh:
/health-ui - Visual Dashboard mit Verlauf/health - JSON API für alle Services# Health Dashboard öffnen
open http://localhost:8080/health-ui
# Health Status prüfen
curl http://localhost:8080/health
Backend: .NET 8, Entity Framework Core, Clean Architecture
AI: HuggingFace (Meta-Llama-3.1-8B), Google Gemini
Communication: HTTP/REST, gRPC, gRPC-JSON Bridge
Database: SQLite (Development), SQL Server (Production)
Quality: xUnit, NetArchTest, SonarCloud, FluentAssertions
DevOps: Docker, GitHub Actions, Health Monitoring
Integration: Strava API, Swagger/OpenAPI
Geplant: RabbitMQ (Event-Driven)
git clone https://github.com/lady-logic/FitnessAnalyticsHubV1_0.git
cd FitnessAnalyticsHubV1_0
docker-compose up
# API starten
cd FitnessAnalyticsHub.WebApi && dotnet run
# AI-Service starten
cd AIAssistant && dotnet run
Zugriff:
https://localhost:5001https://localhost:7276/swaggerKonsistente Exception-Behandlung durch Clean Architecture und Global Middleware.
Domain Exceptions
├── ActivityNotFoundException (404)
├── AthleteNotFoundException (404)
└── ValidationException (400)
Infrastructure Exceptions
├── StravaApiException (502)
├── InvalidStravaTokenException (401)
└── AIAssistantApiException (502)
{
"type": "ActivityNotFound",
"message": "Activity with ID 123 not found",
"statusCode": 404,
"timestamp": "2024-01-15T10:30:00Z"
}
Prinzip: Controller sind exception-frei - Global Middleware behandelt alle Fehler zentral.
Die Integration mit der Strava API ermöglicht den Zugriff auf:
Dieses Projekt steht unter der MIT License - siehe LICENSE Datei für Details.
C#
87.6%
TypeScript
6.2%
HTML
3.6%
SCSS
2.1%