WERKOUTZ is a SwiftUI iOS workout tracker for logging exercise history, tracking personal bests, and building a custom exercise list backed by Firebase.
The app is built around a simple workflow:
- browse your saved exercises
- open an exercise to view training history
- add a new record for either duration-based or weighted exercises
- create custom exercises and optionally attach a photo
Exercise metadata is stored in Cloud Firestore, exercise images are stored in Firebase Storage, and users are signed in anonymously with Firebase Auth.
- SwiftUI-based iOS app
- Exercise list with best-result summaries
- Support for two workout types:
durationweighted
- Per-exercise history view
- Add new workout entries
- Create custom exercises
- Search existing exercises before creating duplicates
- Optional photo upload from the camera or photo library
- Anonymous Firebase authentication
- Firestore snapshot listeners for live updates
- Swift 5
- SwiftUI
- Xcode project with CocoaPods
- Firebase Auth
- Firebase Firestore
- Firebase Storage
- macOS with Xcode installed
- iOS 14.0+
- CocoaPods
- A Firebase project configured for:
- Authentication
- Cloud Firestore
- Cloud Storage
- Clone the repo.
- Install CocoaPods dependencies:
pod install- Open
WERKOUTZ.xcworkspacein Xcode. - Add your own Firebase config file at
WERKOUTZ/GoogleService-Info.plistif needed. - Make sure Firebase Anonymous Auth, Firestore, and Storage are enabled in your Firebase project.
- Build and run on a simulator or device.
nametype- optional image stored in Firebase Storage
date- exercise reference
- duration or reps and weight
- user reference
- list of exercise references
WERKOUTZ/
├── WERKOUTZ/
│ ├── Controller/
│ ├── Model/
│ │ └── Firebase/
│ ├── View/
│ │ └── Cell/
│ ├── Extension/
│ └── WERKOUTZApp.swift
├── WERKOUTZTests/
├── WERKOUTZUITests/
├── Podfile
└── WERKOUTZ.xcworkspace
This repository appears to be an early-stage personal project / prototype. The core logging flow is present, while some areas such as dedicated login/signup UI and record editing are still stubbed out.
No license file is currently included in this repository. Add one before publishing if you want to make reuse permissions explicit.