How wisdombusara/unfat works
Kaza is a Flutter fitness and wellness tracker backed by a self-hosted Dart Frog API. The main workflow is user activity in the app, through state and API services, to backend routes and persistent data; AI coaching and photo analysis are server-side capabilities. Connections reflect the README’s architecture and documented features, since no source excerpts were available to verify finer-grained calls.
Main entry points: api_client.dart API client · repositories Data repositories · screens App screens · providers State providers
Components 16
Flutter client
- App screens
lib/screens - State providers
lib/providers - API service
lib/services/api_service.dart - API client
lib/services/api_client.dart - Token storage
lib/services/token_storage.dart - App models
lib/models
Backend API
- Authentication routes
backend/routes/auth - Tracking routes
backend/routes - AI routes
backend/routes/ai - Photo routes
backend/routes/photos
Data and storage
- Data repositories
backend/lib/repositories - PostgreSQL
- MinIO storage
AI services
- Claude service
backend/lib/ai/claude_service.dart - Claude API
Other components
- Fitness user
Connections 15
- Fitness user → App screens: uses
- App screens → State providers: updates state
- State providers → API service: requests data
- API service → API client: sends requests
- API client → Token storage: reads tokens
- API client → Authentication routes: authenticates
- API client → Tracking routes: calls API
- API client → AI routes: calls API
- API client → Photo routes: calls API
- Tracking routes → Data repositories: accesses data
- Authentication routes → Data repositories: accesses data
- Data repositories → PostgreSQL: reads and writes
- Photo routes → MinIO storage: stores photos
- AI routes → Claude service: requests analysis
- Claude service → Claude API: sends prompts