/HealthyMindsChallenge

Challenge solution

Primary LanguageSwiftApache License 2.0Apache-2.0

HealthyMindsChallenge

Create a TabController app that contains TableViewControllers and a ViewController. The TableViewControllers will display the Modules, Parts, Series, Activities and Tasks. The Activities will display if it is completed or not. If the activity is complete the date it was completed will be displayed.

Approach

  1. Create a data structure that conforms to the Codable protocol (UsersProgressModel.swift).
  2. Create a data access object (DAO) that serialize the given JSON file into data strcuture from above and returns it to a caller via a closure (UserProgressDAO.swift).
  3. Create a storyborad that contain the UI: TabBarController, NavigationController and multiple TableViewControllers.
  4. In the first TableViewController call the DAO in #2 and retrieve the serialized data to present.
  5. Allow the user to navigate from Module to Parts to Series to Activities and view related tasks.
  6. On the Actvities controller look up the uuid of the activity with the alice-progress.json to decide if it complete. If it is complete display the lastCompletedOn date.

Modules

Modules

Parts

Parts

Series

Series

Activities

Activities

Tasks

Tasks