How aniqhariz/thalyn works
THALYN is an offline Android companion for thalassemia care. Users record biomarkers, medication adherence and transfusion events; review dashboards and clinical insights; and maintain a medical profile, document vault and doctor-ready summary. The app also supports local reminders, calendar integration, bilingual presentation and JSON backup/restore. The graph follows documented UI and clinical references; unsampled view-model-to-storage wiring is not asserted.
Main entry points: ThalynApp.kt App navigation · MonitoringScreen.kt Biomarker trends · HomeScreen.kt Home dashboard · TreatmentScreen.kt Medication care
Components 25
App experience
- App navigation
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt
Health tracking
- Home dashboard
app/src/main/java/com/thalyn/app/ui/home/HomeScreen.kt - Home state
app/src/main/java/com/thalyn/app/ui/home/HomeViewModel.kt - Biomarker trends
app/src/main/java/com/thalyn/app/ui/monitoring/MonitoringScreen.kt - Monitoring state
app/src/main/java/com/thalyn/app/ui/monitoring/MonitoringViewModel.kt - Medication care
app/src/main/java/com/thalyn/app/ui/treatment/TreatmentScreen.kt - Treatment state
app/src/main/java/com/thalyn/app/ui/treatment/TreatmentViewModel.kt - Transfusion tracker
app/src/main/java/com/thalyn/app/ui/transfusion/TransfusionScreen.kt - Transfusion state
app/src/main/java/com/thalyn/app/ui/transfusion/TransfusionViewModel.kt
Clinical guidance
- Clinical thresholds
app/src/main/java/com/thalyn/app/domain/clinical/ClinicalRules.kt - Ferritin insights
app/src/main/java/com/thalyn/app/domain/clinical/FerritinInsightEngine.kt - Health insights
app/src/main/java/com/thalyn/app/domain/clinical/HealthInsightEngine.kt - Insight presentation
app/src/main/java/com/thalyn/app/ui/clinical/HealthInsightSheet.kt
Personal records
- Medical profile
app/src/main/java/com/thalyn/app/ui/profile/ProfileScreen.kt - Doctor summary
app/src/main/java/com/thalyn/app/domain/summary/DoctorSummaryBuilder.kt - Summary state
app/src/main/java/com/thalyn/app/ui/summary/DoctorSummaryViewModel.kt - Medical vault
app/src/main/java/com/thalyn/app/ui/vault/MedicalVaultViewModel.kt - Backup and restore
app/src/main/java/com/thalyn/app/data/backup/BackupManager.kt - PDF summary export
app/src/main/java/com/thalyn/app/data/export/PdfSummaryRenderer.kt
Local platform
- Local health database
app/src/main/java/com/thalyn/app/data/database/ThalynDatabase.kt - Data repositories
app/src/main/java/com/thalyn/app/data/repository/Repositories.kt - Local reminders
app/src/main/java/com/thalyn/app/notification/NotificationScheduler.kt - English and Indonesian
app/src/main/java/com/thalyn/app/domain/localization/ThalynStrings.kt
Other components
- Person
- Android device
Connections 25
- Person → App navigation: uses
README.md - App navigation → Home dashboard: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → Biomarker trends: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → Medication care: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → Transfusion tracker: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → Medical profile: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → Summary state: routes to
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - App navigation → English and Indonesian: selects strings
app/src/main/java/com/thalyn/app/ui/ThalynApp.kt - Home dashboard → Home state: observes state
app/src/main/java/com/thalyn/app/ui/home/HomeScreen.kt - Home dashboard → Biomarker trends: navigates to
app/src/main/java/com/thalyn/app/ui/home/HomeScreen.kt - Biomarker trends → Monitoring state: observes state
app/src/main/java/com/thalyn/app/ui/monitoring/MonitoringScreen.kt - Biomarker trends → Insight presentation: shows insights
app/src/main/java/com/thalyn/app/ui/monitoring/MonitoringScreen.kt - Insight presentation → Clinical thresholds: uses rules
app/src/main/java/com/thalyn/app/ui/clinical/HealthInsightSheet.kt - Ferritin insights → Clinical thresholds: classifies with
app/src/main/java/com/thalyn/app/domain/clinical/FerritinInsightEngine.kt - Medication care → Treatment state: observes state
app/src/main/java/com/thalyn/app/ui/treatment/TreatmentScreen.kt - Transfusion tracker → Transfusion state: observes state
app/src/main/java/com/thalyn/app/ui/transfusion/TransfusionScreen.kt - Medication care → Android device: opens calendar
app/src/main/java/com/thalyn/app/ui/treatment/TreatmentScreen.kt - Medical profile → Medical vault: opens vault
app/src/main/java/com/thalyn/app/ui/profile/ProfileScreen.kt - Summary state → Doctor summary: builds summary
app/src/main/java/com/thalyn/app/ui/summary/DoctorSummaryViewModel.kt - Person → Backup and restore: exports or imports
README.md - Person → PDF summary export: exports summary
README.md - Person → Local reminders: sets reminders
README.md - Local reminders → Android device: schedules alarms
README.md - Person → Local health database: keeps records locally
README.md - Local health database → Data repositories: provides persistence