Skip to content

ukcs485gSpring23/sip-wjyyang24

Repository files navigation

Sip 💦

Swift Xcode 13.2+ iOS 15.0+ watchOS 8.0+ CareKit 2.1+ ci

Description

Sip is an app which helps users form healthy habits through quick tasks that anyone can complete. Sip strives to facilitate an environment for self improvement through positivity and constant encouragement.

Demo Video

To learn more about this application, watch the video below:

Sample demo video

Designed for the following users

Sip is designed for people who want a smart application to guide them through the process of building healthy habits. As opposed to traditional note-taking or reminder apps, Sip's premade tasks, as well as its capability to allow users to create their own tasks, hold the user's hand throughout their usage. Sip is not designed for those who need a hyper-capable productivity app, it's for those who just need a little encouragement throughout their week to constantly improve themselves.

Login ViewCare View 1Care View 2Insights ViewContacts ViewProfile ViewAdd Task View

Developed by:

  • Wesley Yang - University of Kentucky, Computer Science

ParseCareKit synchronizes the following entities to Parse tables/classes using Parse-Swift:

  • OCKTask <-> Task
  • OCKHealthKitTask <-> HealthKitTask
  • OCKOutcome <-> Outcome
  • OCKRevisionRecord.KnowledgeVector <-> Clock
  • OCKPatient <-> Patient
  • OCKCarePlan <-> CarePlan
  • OCKContact <-> Contact

Use at your own risk. There is no promise that this is HIPAA compliant and we are not responsible for any mishandling of your data

Contributions/Features

  • Featured Tip View with link to tips on forming habits
  • Daily Sleep Amount and Quality Check-in
  • Daily Water Consumption Goals
  • Basic Beginner Workout Plan with 3 sets of exercises
  • Diet Goals for consuming important food groups
  • Encouragement to eat breakfast daily
  • Reminders to move and stretch
  • Step, Heart Rate, and Stair Trackers
  • Informative Card on planning your day
  • Sugary Drink Tracker
  • Insights View showing data on all aforementioned tasks
  • Full Contacts View with search and adding capabilities
  • Profile View with capabilities to edit user info and profile picture
  • Users can add their own tasks (CareKit and HealthKit)
  • Visual Confirmation for user added tasks
  • Validation for user tasks properties
  • 4 Care Plans to help organize tasks

Final Checklist

  • Signup/Login screen tailored to app
  • Signup/Login with email address
  • Custom app logo
  • Custom styling
  • Add at least 5 new OCKTask/OCKHealthKitTasks to your app
    • Have a minimum of 7 OCKTask/OCKHealthKitTasks in your app
    • 3/7 of OCKTasks should have different OCKSchedules than what's in the original app
  • Use at least 5/7 card below in your app
    • InstructionsTaskView - typically used with a OCKTask
    • SimpleTaskView - typically used with a OCKTask
    • Checklist - typically used with a OCKTask
    • Button Log - typically used with a OCKTask
    • GridTaskView - typically used with a OCKTask
    • NumericProgressTaskView (SwiftUI) - typically used with a OCKHealthKitTask
    • LabeledValueTaskView (SwiftUI) - typically used with a OCKHealthKitTask
  • Add the LinkView (SwiftUI) card to your app
  • Replace the current TipView with a class with CustomFeaturedContentView that subclasses OCKFeaturedContentView. This card should have an initializer which takes any link
  • Tailor the ResearchKit Onboarding to reflect your application
  • Add tailored check-in ResearchKit survey to your app
  • Add a new tab called "Insights" to MainTabView
  • Replace current ContactView with Searchable contact view
  • Change the ProfileView to use a Form view
  • Add at least two OCKCarePlan's and tie them to their respective OCKTask's and OCContact's

Wishlist features

  1. Social features for friendly competition
  2. Ability to delete tasks
  3. Ability to import images into tasks

Challenges faced while developing

The most challenging aspect of development was familiarizing myself with the codebase, as the amount of files to keep track of was definitely more overwhelming than any project I've worked on so far. The frameworks used, such as CareKit and HealthKit were also confusing at first, but they provided valuable experience on how to work with real-world frameworks. Another one of the more challenging aspects of development were optionals, as I had never dealt with that concept before. I was initially very frustrated with them, as they would make seemingly simple pieces of code throw errors all over the place, however once I got used to the best methods for handling them, I can now see their value.

Setup Your Parse Server

Heroku

The easiest way to setup your server is using the one-button-click deplyment method for parse-hipaa.

View your data in Parse Dashboard

Heroku

The easiest way to setup your dashboard is using the one-button-click deplyment method for parse-hipaa-dashboard.

About

midterm-wjyyang24 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages