/Gymbo

Primary LanguageSwift

Swift Version Build Status License Platform PRs Welcome

Gymbo

Alt text

Gymbo is a basic iOS app that tries to utilize the MVVM architecture using Swift.

The app allows you to choose from a list of over 200 pre-loaded exercises and add them to what I call sessions. Sessions consist of one or more exercises that you would like to complete during your time at the gym. You can also create your own exercises. You can create a name for your new exercise, add the muscle groups it affects, and you can even take some pictures to help you visualize how to perform the exercise in case you forget in the future. Once you have your sessions created, you can tap on any one of them and start a session. This new screen will keep track of the duration of your session and you can edit your exercises while you are in the middle of your session. The dashboard section of the app will keep track of all the sessions you have completed and the days you have worked out. Profile allows you to tell the app a little bit about yourself. p

The app uses no 3rd party libraries other than RealmSwift which allows storing data completely on the device for long-term persistence.

Features

  • Profile

Access/edit basic settings in Profile. Ability to upload user profile picture.

  • Dashboard

View sessions completed in the past along with the days those sessions were completed. Filter by date on session days.

  • Sessions

View all sessions previously created. Tap on a session to preview the exercises that session contains.

  • Started Session

Start a session and tap on exercises as you complete them. This turns them green and allows user to have a visual of completed exercises. Tap on exercise name to mark entire exercise as completed.

User can also start a timer to time a resting period. Rest timer will show up in started session navigation bar if the rest timer screen is dismissed.

  • My Exercises

Access/edit/add exercises from this tab.

  • Stopwatch

Simple stopwatch for additional utility. It works even if you leave the app or the app is terminated by the os.

Requirements

  • iOS 13.0+
  • Xcode 11+

Installation

Manually

You can download the source code directly.

Run pod install to download the latest RealmSwift

Rohan's GitHub