/to_dah

Exploratory Android ToDo List App

Primary LanguageJava

ToDah

This is an Android demo app which provides basic todo list management.

Time Spent: 3-4 hours in total

Completed user stories:

  • Required: Can you successfully add and remove items from the todo list within your app?
  • Required: Did you include support for editing todo items as described above?
  • Required: Does your app persist todo items and retrieve them properly on app restart?
  • Required: Did you successfully push your code to github? Can you see the code on github?
  • Required: Did you add a README which includes a GIF walkthrough of the app's functionality?
  • Required: Did you create an issue on the repo and include /cc @codepathreview @codepath in the issue body?
  • Optional: Persist the todo items into SQLite instead of a text file
  • Optional: Improve style of the todo items in the list using a custom adapter
  • Optional: Add support for completion due dates for todo items (and display within listview item)
    • I didn't like the design of showing them in the listview item, but implemented due dates so counting this as completed
  • Optional: Use a DialogFragment instead of new Activity for editing items
    • I didn't like this UI, so didn't implement this. However I did use a dialog for confirming delete.

Notes: I read up on material design a little bit, mostly to play around with in this app (but it doesn't implement it really).

Features

  1. create new todo
  2. edit todo
  3. delete todo
  4. complete todo
  5. filter todos
  6. persists todos in SQLite db
  7. persists filtering settings in SQLite db

todah-walkthrough

GIF created with LiceCap.

App Launcher Icon downloaded from IconArchive (GNU General Public License).

App UI Icons downloaded from Google Design Icons (CC-BY license).

Future Enhancements

These are things I'd like to do with this in the future one I learn more about Android dev.

  1. implement tests against activitys/adapters/ui
  2. validate user input (e.g. require title)
  3. animations for transitions (esp. around the floating action button)
  4. implement a checkbox on the listview to complete actions
  5. implement swipe on the listview to delete the item
  6. implement drag and drop on the listview to change order
  7. implement support for filtering late todos