A4 - (GitHub)















Features:
- Retains data locally in database. Restores data when app is restarted.
 - Single activity, multi-fragment design using NavController
 - Recommended architecture with ViewModel and Repository
 
Task List Screen
- Add new task (green circle with ‘+’ symbol)
 - Checkbox task complete
 - Display task title and due date
 - Delete task (Red ‘X’)
 - Edit task by clicking on it
 
Edit Task Screen
- Enter/Edit Task Title, Description, DueDate, Remind Me Date
 - Enable Reminder Checkbox (No notifications currently)
 - DueDate and Remind Me Date open time/date picker
 - Cancel button to discard edits
 - Save button to save edits
 
Deploy to App Store (closed testing):
Web Test Link
App Link - https://play.google.com/store/apps/details?id=edu.neu.khoury.madsea.matthewgatesdehn
What I learned:
- Using Room for managing a local database.
 - Repository for an additional layer of abstraction between the ViewModel and datasource(s).
 - Repository and database belong to the app lifecycle. ViewModel belongs to the activity lifecycle.