Skip to content

simonitalia/ToDoList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application Name

To Do List

Objective

The aim of this app is to allow users to create a ToDo List, where:

  • New item created / added (by title)

  • Edit item

  • Delete item

  • Mark item as complete

  • Add additional details, such as Due Date and Notes

  • Search All Notes

Demo

Demo

Course

App Development with Swift

Education supplier

This iOS app project forms part of the iBook "App Development with Swift" which is part of the "Everyone can code" iBooks tutorial series, authored by Apple.

Technologies

  • MVC (Model, View, Controller) Design pattern

  • File Manager / Data persistance

  • Interface Builder

  • Custom classes

  • Custom Table cells

  • Segues

  • UISearchController

  • UITableViewController

  • NavigationController

  • Navigation Bar action items

  • DateFormatter

  • Git / Github

Stretch goals

Some features included are not part of the guided project, but are added as stretch goals. Stretch goals apply learned knowledge to accomplish and are completed unassisted. Stretch goals may either be suggested by the teaching instructor or self imposed. Strecth goals / features implemented (if any) will be listed here.

  • Debugging / bugfixing (self imposed) - When this app was initially completed it had lots of bugs. The Apple iBook referenced for this guided project contained plenty of code snippet errors and omissions. As someone learning swift for the first time and being heavily dependant on accurate code snippets, it was difficult to debug and pin point the issues, let alone apply the subsequent fixes. Fast forward to 6 months later, after completeing many other online tutorial series', reading online swift related sites and blogs (eg: reddit), reviewing code snippets on stackoverflow, and watching many swift related vidoes and youTube channels, I revisitied the app and (to my own surprise), was not only able to debug and fix each pre-existing issue, I also implemented addtional features to the app, some suggested, some self imposed. Before I tout those, here are the things the initial app didn't do, that it should have:
  • Save data to app's document directory for later retrieval

  • Load (any) saved data from app's document directory, each time app is launched

  • Display user seelcted Due Date in the Date label

  • Pass all data from one view controller to the other via Segue


And here's is the list of features added to the app, not part of the project's oroginal requirements:

  • Add a Search controller to search the List (suggested)

  • Detect (and respond to) text entry in the UITextView using the UITextViewDelegate protocol (self imposed)

  • Source control with git (local) / github (remote) (self imposed)

Completed

  • June, 2018 (initial version)
  • January, 2019 (current version)

Deployment information

  • Deployment Target (iOS version): 11.4 and higher
  • Supported Devices: Universal
  • Optimized for: iPhone

Releases

No releases published

Packages

No packages published

Languages