What do fitness and fun have in common? You know… besides starting with the letter F? Let me tell you. They both were used in creating our new app!
But how did we achieve such a feat? We turned a low impact cardio exercise (stair climbing) into a fun and competitive game! With our app you’re able to compete with friends, family and even strangers in a variety of different events and challenges.
When you open the app for the first time it will ask you about your activity level. After you answer the prompt you will be taken to the main page of the app. Introducing Stair Master Climber...
Stair Master Climber Video Walkthrough
Here we have our different tiles. You have Activities, Competition, and Achievements:
- Activity currently shows you your flights climbed in the past seven days in addition to your flight goals.
- The competitions page shows who you are currently competing with as well as an explanation on how to send a challenge.
- The achievements tile shows you achievements you’ve recently acquired and in the near future it will show you a completion percentage for unlocked challenges. It’s also where you send the aforementioned challenges. But words are cheap. You know what’s worth more? Trying the app for yourself, available exclusively on your iPhone!
The app gets your flights climbed using HealthKit securely from your iPhone. The Stair Stepper Machine feature calculates the number of stairs you climbed while using a stair stepper machine and adds it securely into your phone's HealthKit vault!
This app consists of a several lists, grids and navigation concepts to form the complex UI. This app illustrates several concepts in SwiftUI Mobile Development including
- Use of several Apple frameworks like WidgetKit, HealthKit, GameKit, Foundation, UserNotifications, SwiftUI
- SwiftUI Page lifecycle events
- Bringing in Apple's Achievements, Competitions into the app
- Usage of SwiftUI & Swift for software development
- Splash or Launch Screen implementation in a SwiftUI project
- We designed the UI in Sketch
- Creation of a Widget and communicating with the App
- Navigation/Routing between pages
- Improve stability
- Use view models and split the complex views
- Add unit tests
- Add UI Automation tests
- Adding a github action for building
- Fork this repo and Create a PR if you want to tackle any of the To Do's
- This app follows the basic SwiftUI tutorials from different websites, and so you can go through the commit history to see each of the buildable stages.
- You can use this code to create a stair climbing fitness app with your own customizations