https://github.com/flngsquirrl/spractice
Personal practice app | iOS
https://github.com/flngsquirrl/spractice
ios16 swift5-7 swiftui
Last synced: about 2 months ago
JSON representation
Personal practice app | iOS
- Host: GitHub
- URL: https://github.com/flngsquirrl/spractice
- Owner: flngsquirrl
- License: mit
- Created: 2022-08-14T15:08:38.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-06T09:29:58.000Z (over 1 year ago)
- Last Synced: 2025-07-12T03:51:39.011Z (12 months ago)
- Topics: ios16, swift5-7, swiftui
- Language: Swift
- Homepage:
- Size: 2 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# SPractice
## Intro
How do you practice? Do you prefer workout or yoga?
Well, good news is you can combine or alternate.
And use your time wisely.
This is an application for you personal practice.
### Exercises
There are 3 types of exercises, that define how you practice.
- flow
You decide when you finish and notify the app by pressing a button.
Good, when you go at your own pace (Sun Salutations) or count (how about 50 squats, uh?).
- timer
You set the time and practice with the count down.
2 minutes of Cat-Cow or Jump Rope.
- tabata
It is a famous HIIT technique, repeated intervals of activity and rest.
Works good with all sorts of Planks.
### Programs
Programs are built out of exercises.
You probably have a favourite sequence or a few.
But even if you don’t, try different combinations to find something that feels right.
### Examples
Some examples are provided by default.
You can modify or delete them at any time.
And restore from [Settings](#settings), if you change your mind later.
But feel free to create your own exercises and programs.
See screenshots

### Create an exercise
Give the exercise a name and, optionally, a description.
You can stop here, if this is what you want to use as a template.
Or continue by settings its type, duration and intensity.
See screenshots

### Create a program
Start by giving the program a name and, if needed, a description.
Then build a sequence selecting exercises from templates or creating new.
Take a look at the program's duration.
This is how long the practice will last.
See screenshots

### Configure a practice
There are some helpful configs to improve your practice.
First, you can **add rest intervals** between the exercises.
Use them to prepare for the next exercise or take a sip of water.
Second, you can **pause after every exercise**.
It means, when an exercise is over, you should press "Run" to start the next.
This gives you more control, but requires more interaction.
Third, you can **turn the sound notifications on and off**.
When on, the sound signal will let you know when the exercise or its task is about to finish.
Ready? Then lets practice!
See screenshots

### Practice
You can pause, restart an exercise or the whole practice at any moment.
You can also turn the sound on and off, view exercise details or practice summary.
Press "Run" and start practicing)
See screenshots

### Settings
In Settings you can:
- set intervals for tabata exercises;
- set name and duration for rest intervals;
- configure auto-finish for flow exercises;
- manage modified examples.
See screenshots
## Demos
### Onboarding
https://user-images.githubusercontent.com/95634326/190871112-ebf494da-b7f5-4de4-8bb4-0772a64deffe.mp4
### Launch
https://user-images.githubusercontent.com/95634326/190870383-7f771f50-3ff1-4e14-8543-6db7ed6cc08c.mp4
### Run practice
https://user-images.githubusercontent.com/95634326/190870208-7bdeae32-3d40-49fe-8295-bcb6129d6bbb.mp4
### Add rest intervals
https://user-images.githubusercontent.com/95634326/190870575-1c660d23-0ced-4206-aa05-73b0781009de.mp4
### Edit program
https://user-images.githubusercontent.com/95634326/190869809-976a9964-615e-4cef-9192-96a6d0edf61b.mp4
### View info
https://user-images.githubusercontent.com/95634326/190869964-9fc43b22-51d1-4572-842f-fef08e7969b1.mp4
### Reset modified example
https://user-images.githubusercontent.com/95634326/190869969-7f9777dd-b92e-4690-892c-449bb133542f.mp4
## Additional screenshots
### iPad layout
Screenshots

### Light vs Dark
Screenshots
## Targets
iOS 16
iPhone, iPad
## Implementation details
Implemented with Swift and SwiftUI.
Exercise and program templates are stored as JSON files in the app directory on the device.
The application doesn't need access to any of the user's private information.
## Build instructions
- clone the repo
```
git clone https://github.com/flngsquirrl/SPractice.git
```
- download Carthage dependencies
```
carthage bootstrap --use-xcframeworks --platform iOS
```
- build the project in Xcode