Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heyjaywilson/peakfit
Strength exercise iOS app written in Swift
https://github.com/heyjaywilson/peakfit
hacktoberfest hacktoberfest2024 swift swiftdata swiftui
Last synced: 21 days ago
JSON representation
Strength exercise iOS app written in Swift
- Host: GitHub
- URL: https://github.com/heyjaywilson/peakfit
- Owner: heyjaywilson
- License: apache-2.0
- Created: 2024-09-19T13:44:06.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-18T00:34:21.000Z (about 1 month ago)
- Last Synced: 2024-10-20T11:52:40.519Z (about 1 month ago)
- Topics: hacktoberfest, hacktoberfest2024, swift, swiftdata, swiftui
- Language: Swift
- Homepage:
- Size: 261 KB
- Stars: 14
- Watchers: 1
- Forks: 10
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.MD
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# PeakFit
An app to track your strength training workouts.
![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/heyjaywilson/peakfit) ![GitHub contributors](https://img.shields.io/github/contributors/heyjaywilson/peakfit) ![GitHub Repo stars](https://img.shields.io/github/stars/heyjaywilson/peakfit)
## :hammer: Project Setup
### Prerequisites
- [Node.js](https://nodejs.org) is needed for git hooks
- How to install node instructions can be found [here](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs). @heyjaywilson suggests using the prebuilt installer for the current version
- Xcode 16.0 (@heyjaywilson suggests using the [Xcodes app](https://github.com/XcodesOrg/XcodesApp) to manage Xcode versions)
- [swift-format](https://github.com/apple/swift-format#getting-swift-format)
- How to install instructions can be found [here](https://github.com/swiftlang/swift-format#installing-via-homebrew)
- 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
5. Remove the template suffix from `PeakFit/Resources/Project.xcconfig.template` so that it is just `PeakFit/Resources/Project.xcconfig`
6. Set your development team in the `PeakFit/Resources/Project.xcconfig` file
7. Set the PRODUCT_BUNDLE_IDENTIFIER to one that is unique to your development team
8. Build the project### Resources for coding conventions
- [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines/)
- [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)### 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](https://github.com/heyjaywilson/peakfit/discussions/new).1. Ask for an [issue](https://github.com/heyjaywilson/peakfit/issues) 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](https://www.conventionalcommits.org/en/v1.0.0/). There is a git hook that runs on commit that validates the commit message format.
4. Open a PR and make it passIf there are any questions, please open a [discussion](https://github.com/heyjaywilson/peakfit/discussions/new).
For more details around contributing see [the contributing file](https://github.com/heyjaywilson/peakfit/blob/main/.github/CONTRIBUTING.MD)
### Contributors
Made with [contrib.rocks](https://contrib.rocks).
## License
This project is licensed under the Apache License, Version 2.0. See the [LICENSE](./LICENSE) file for more details.