Skip to content

Latest commit

Β 

History

History
109 lines (77 loc) Β· 2.71 KB

File metadata and controls

109 lines (77 loc) Β· 2.71 KB

πŸ‹οΈβ€β™‚οΈ GymNote

GymNote is a simple and privacy-focused fitness tracker for iOS.
It helps you record your workouts, track progress, and manage your favorite exercises β€” all offline and stored securely on your device.


πŸš€ Getting Started

🧩 Tech Stack

  • Swift 5+
  • UIKit
  • MVVM Architecture
  • Core Data (local storage)
  • SnapKit (Auto Layout)
  • Haptic Feedback

πŸ’Ύ Data Model Structure (Core Data)

Workout

Field Type Description
id UUID Unique workout identifier
date Date Workout creation date
notes String? Optional note about the workout

Exercise

Field Type Description
id UUID Unique exercise identifier
name String Exercise name
bodyPart String? Target muscle group
isCustom Bool Indicates if the exercise is user-created
isActive Bool Used for filtering active presets

Set

Field Type Description
id UUID Unique set identifier
reps Int Number of repetitions
weight Double Weight used (kg)
workout Relationship Linked Workout
exercise Relationship Linked Exercise

🏁 Features

  • βœ… Create and manage workouts
  • βœ… Add and edit exercise sets
  • βœ… Track your training progress
  • βœ… Manage preset and custom exercises
  • βœ… Minimalistic interface designed with UIKit + SnapKit
  • βœ… Works completely offline β€” no internet required
  • βœ… All data stays safely on your device

🧱 Architecture

The app follows the MVVM (Model-View-ViewModel) architecture.
Each module (Main, PresetPicker, Settings) has its own Model, ViewModel, and View layers.
Data persistence is handled by Core Data, and layout is built programmatically with SnapKit.


🧰 Prerequisites

  • Xcode 16.2 or later
  • iOS 17+ SDK

🧩 Installation

  1. Clone the repository:
    git clone https://github.com/umutkonmus/GymNote.git
  2. Open GymNote.xcodeproj or GymNote.xcworkspace in Xcode.
  3. Select a target device or simulator and press Run (⌘R).

πŸ”’ Privacy

GymNote never connects to the internet.
All workouts, presets, and app settings are stored locally on your device using Core Data.
Your fitness data is never uploaded or shared with any external service.


πŸ“Έ Screenshots

Main Screen

Track your daily workouts and progress.

Preset Picker

Select from preset exercises or create your own custom ones.


πŸ“„ Support

For any issues, questions, or feedback:
πŸ“§ contact@umutkonmus.com