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.
To learn more about this application, watch the video below:
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.
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
- 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
- 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
- Social features for friendly competition
- Ability to delete tasks
- Ability to import images into tasks
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.
The easiest way to setup your server is using the one-button-click deplyment method for parse-hipaa.
The easiest way to setup your dashboard is using the one-button-click deplyment method for parse-hipaa-dashboard.