Skip to content

heyjaywilson/peakfit

Repository files navigation

PeakFit

An app to track your strength training workouts.

GitHub Issues or Pull Requests GitHub contributors GitHub Repo stars

🔨 Project Setup

Prerequisites

  • Node.js is needed for git hooks
    • How to install node instructions can be found here. @heyjaywilson suggests using the prebuilt installer for the current version
  • Xcode 16.0 (@heyjaywilson suggests using the Xcodes app to manage Xcode versions)
  • swift-format
    • How to install instructions can be found here
    • You need swift-format installed because the formatting hooks use the command swift-format and not swift format which is the command that comes with Xcode 16

Building and Running the App

  1. Clone the repo
  2. Navigate into the repo via the command line
  3. Run npm install to install the node modules
  4. Run npx husky . to install the git hooks
  5. Open the Xcode project
  6. Remove the template suffix from PeakFit/Resources/Project.xcconfig.template so that it is just PeakFit/Resources/Project.xcconfig
  7. Set your development team in the PeakFit/Resources/Project.xcconfig file
  8. Set the PRODUCT_BUNDLE_IDENTIFIER to one that is unique to your development team
  9. Build the project

Resources for coding conventions

Commands

These commands are available once you have installed the prerequisites.

Command Purpose
npm run prepare installs git hooks
npm run emojify adds emoji to the last commit
npm run format runs swift format across all swift files
npm run format-changes runs a script to only format swift files that have been touched

Contributing TLDR

Note

If you just want to request a feature or report a bug, do so in the discussions.

  1. Ask for an issue to be assigned to you and wait for @heyjaywilson to assign the issue to you.
  2. Fork the repo and make changes
  3. Commit your changes. Your commit messages must follow conventional commits. There is a git hook that runs on commit that validates the commit message format.
  4. Open a PR and make it pass

If there are any questions, please open a discussion.

For more details around contributing see the contributing file

Contributors

Made with contrib.rocks.

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for more details.