Stores user entered data in a native db, displays data in overviews, detail view and widget, and sends a notification to suggest scheduling a doctors appointment.
- Uses Room, LiveData and Repository pattern for interacting with SQLite database
- Caches retreived data in ViewModel to avoid requerying database on configuration changes
- Database read/write operations are performed on background threads
- Data is displayed in three different fragments in MainActivity. Navigation between them is provided by BottomNavigationView
- Graph is implemented with MPAnroidChart library
- User can enter and edit data in DetailActivty through DialogFragments
- Uses TextInputLayout and TextInputEditText for all text input fields