Skip to the content.

To-Do-App-Version2-Writeup

13 Oct 2021

Latest Updates!!!!!: Test for App available to join:

Join on Android: link

Join on the Web: link

Link for a brief demo of this App: link


Summarize:

New Features Added:

  1. Implemented MVC struture in the app’s artitecture by seperating the app’s structure into UI Controller(Activity/Fragment), View model, repository and room database with DAO and entity.
  2. Created user entity that describes a SQL databse table which includes detailed data of the user’s to-do item.
  3. Created UserDao which maps SQL queries including update, delete, and insert items to functions
  4. Used room database to access and initialize SQL database when needed.
  5. Implemented repository which abstract data from SQL local database while providing a clear API for the rest of the app to access the data.
  6. Constructed ViewModel which holds communication between UI components and the repository. Used Live data and observer to notify changes when data is updated, deleted , and inserted.
  7. Implemented Recycler view and a ListAdapter to populate the screen with todo item while holds the connection with viewModel.
  8. Replaced Firebase real-time database with SQL local database accessed from a Room database
  9. Implemented data and time picker with a calender and animated clock shown up which allows the user to set up reminder time in a easy and clear way.
  10. Created Notifiction channel and set the content of the notification to the to-do item description.
  11. Integrated work manager to schedule works to send out notification to the user at their specified reminder time for each task.
  12. Modifying reminder work from the worker queue in the work manager when user delete and edit to-do item.
  13. Used item description as the tag for the work which allows the user to cancel and edit ther to-do task without worrying about reminder mulfunctioning but with certain trade offs.
  14. User has to use the same item title when editting the to-do item, else the reminder for previous item would not be deleted.
  15. Implemented Search View which enables users to search for a todo-item in the search box using the title of the to-do item.
  16. Integrated option menu for each created to-do item where users can view, delete or edit items.
  17. Created safe delete functions for users when deleting an item to make sure the user doesn’t click it by accident.

image

image

image

image

image