Skip to content

CamMcLeod/Mastery

Repository files navigation

Mastery

Overview

Mastery is a goal tracking app. The application allows the user to create goals and tasks for those goals. When the user wishes to commit time to intentional focus on a task, they choose an amount of time to focus on the task, then begin a session of directed focus.

My responsibilities in the project included completion of the "Today's Tasks" and focused session side of the app. I also designed the icon picker view as well as providing the code and animations for the task icon Xibs.

Group Members

Ekam Dhaliwal

Marina McPeak

Final Product

We needed the icons of each task to represent the goal they belonged to (consistent color scheme) and have their design easily reflect to the user the completion of the task as well as the purpose of the task itself. This lead us to a task icon and "task ring" design. The icon and ring widget was designed to be color coded to the tasks corresponding goal color. Below is the icon selection view and animation:

Alt Text

Below are the various animations of the icon and "task ring" widget:

Alt Text

Below is the landing screen of the "Today's Tasks" side of the app. This is where the user can see tasks they have created which are available to complete today. When a user creates a task they decide which days of the week they are available to work on it, this is reflected in this view.

Tasks can be sorted by priority and by deadline. Priority is represented by the fractional fill of the task ring out of 10. Deadline is represented by a task ring whose arc is masked depending on time remaining to the task deadline:

Alt Text

In the below image there is a task "fence" where the user has chosen a 25 minute focus time:

Alt Text

In the below image the user has completed their task "weightlifting" and has moved on to their mandatory 5 minute break. If the user sends the app to the background or locks their phone, the app will send a notification when the break is over:

Alt Text

A user can start a session for a task:

Alt Text

When the task ends the user begins a mandatory break:

Alt Text

The user can then finish the session:

Alt Text

Then add a note and save the recorded session:

Alt Text

Tech Stack

  • Swift
  • Core Data
  • Core Animation
  • Local Notifications
  • User Defaults

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages