How saad2134/dosezy works
Dosezy is an offline-first Android medication manager for patients and caregivers. The documented workflow is to enter medicines and schedules, then use reminders to log, snooze, skip, or record doses; the app tracks stock and adherence and offers calendar, analytics, and exports. The tree identifies corresponding UI, domain, notification, and data modules, but their call wiring was not sampled, so those connections are shown as unverified. The optional caregiver cloud and web client are described as forthcoming; their runtime behavior is not established here.
Main entry points: HomeScreen.kt Home and Doses · MainActivity.kt App Entry · MedicinesScreen.kt Medicine Management · ScheduleScreen.kt Schedule Calendar
Components 22
Patient Experience
- App Entry
patient/android/app/src/main/java/com/example/dosezy/MainActivity.kt - Home and Doses
patient/android/app/src/main/java/com/example/dosezy/ui/screens/HomeScreen.kt - Medicine Management
patient/android/app/src/main/java/com/example/dosezy/ui/screens/MedicinesScreen.kt - Schedule Calendar
patient/android/app/src/main/java/com/example/dosezy/ui/screens/ScheduleScreen.kt - Adherence Analytics
patient/android/app/src/main/java/com/example/dosezy/ui/subscreens/AnalyticsScreen.kt
Medication Workflow
- Medicine Records
patient/android/app/src/main/java/com/example/dosezy/data/model/Medicine.kt - Schedule Generation
patient/android/app/src/main/java/com/example/dosezy/domain/usecases/GenerateSchedulesUseCase.kt - Dose Actions
patient/android/app/src/main/java/com/example/dosezy/domain/usecases/TakeCohortUseCase.kt - Skip and Snooze
patient/android/app/src/main/java/com/example/dosezy/domain/usecases/SkipCohortUseCase.kt - Evaluation Statistics
research/supplementary/reproduce_paper_stats.py - Archived Statistics
research/zenodo/reproduce_paper_stats.py
Reminders and Alarms
- Alarm Scheduler
patient/android/app/src/main/java/com/example/dosezy/notifications/AlarmScheduler.kt - Alarm Receiver
patient/android/app/src/main/java/com/example/dosezy/notifications/MedicineAlarmReceiver.kt - Alarm Screen
patient/android/app/src/main/java/com/example/dosezy/notifications/AlarmActivity.kt - Intake Safeguard
patient/android/app/src/main/java/com/example/dosezy/notifications/IntakeSafeguardManager.kt
Local Data
- Local Database
patient/android/app/src/main/java/com/example/dosezy/data/DosezyDatabase.kt - Medicine Repository
patient/android/app/src/main/java/com/example/dosezy/data/repository/MedicineRepository.kt - Schedule Repository
patient/android/app/src/main/java/com/example/dosezy/data/repository/ScheduleRepository.kt - Backup and Reports
patient/android/app/src/main/java/com/example/dosezy/data/export/BackupRestoreManager.kt
Caregiver Cloud
- Caregiver API
api/openapi.yaml - Caregiver Web
website/src
Other components
- Patient
Connections 20
- Patient → App Entry: opens app
- App Entry → Home and Doses: routes to
- Patient → Medicine Management: enters medicines
README.md - Patient → Schedule Calendar: views schedule
README.md - Medicine Management → Medicine Records: records medicines
- Schedule Calendar → Schedule Generation: configures schedules
- Schedule Generation → Schedule Repository: persists schedules
- Home and Doses → Dose Actions: logs doses
- Home and Doses → Skip and Snooze: manages doses
- Dose Actions → Medicine Repository: updates intake
- Medicine Repository → Local Database: stores records
- Schedule Repository → Local Database: stores schedules
- Alarm Scheduler → Alarm Receiver: dispatches alarms
- Alarm Receiver → Alarm Screen: opens alarm
- Alarm Screen → Intake Safeguard: supports intake
- Home and Doses → Alarm Scheduler: sets reminders
- Patient → Adherence Analytics: reviews adherence
README.md - Patient → Backup and Reports: exports data
README.md - Caregiver Web → Caregiver API: uses API
- Patient → Caregiver API: syncs care data