Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/AlexCatch/Oak
Oak is an iOS app built with SwiftUI for managing your 2FA codes
https://github.com/AlexCatch/Oak
Last synced: 3 months ago
JSON representation
Oak is an iOS app built with SwiftUI for managing your 2FA codes
- Host: GitHub
- URL: https://github.com/AlexCatch/Oak
- Owner: AlexCatch
- License: mit
- Created: 2021-02-02T02:57:10.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-09-15T16:32:21.000Z (over 2 years ago)
- Last Synced: 2024-08-03T17:19:00.611Z (7 months ago)
- Language: Swift
- Size: 1.07 MB
- Stars: 29
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- fucking-open-source-ios-apps - OakOTP - Factor Authentication app built with SwiftUI (Security / Password)
README
# 🔒📱 OakOTP


[](https://alexcatch.semaphoreci.com/projects/Oak)
[](https://codecov.io/gh/AlexCatch/oak)
OakOTP is an iOS app built with SwiftUI for managing your 2FA codes.
[](https://apps.apple.com/app/oakotp/id1567761178)
- Supports iPhone & iPad
- Supports scanning a QR code or entering credentials manually
- Supports both TOTP & HOTP codes
- Fully sync accounts with iCloud across all your devices
- Secured with biometrics or a password
- Built with SwiftUI utilising the MVVM pattern
- Dependency Injection for easy mocking in tests
- Decent Unit & UI test coverage
![]()
![]()
![]()
![]()
## Getting Started
To get a local copy up and running follow these simple steps.
### Prerequisites
OakOTP uses [Fastlane](https://docs.fastlane.tools/getting-started/ios/setup/) for running tests so make sure you have Fastlane setup and configured on your machine.
### Installation
1. Clone the repo
```sh
git clone [email protected]:AlexCatch/Oak.git
```
2. Run Bundler
```sh
bundle install
```
3. Open `OakOTP.xcodeproj` and configure signing for each target (Automatically managing signing will suffice.)### Running Tests
You can either run tests through Xcode or run `bundle exec fastlane test` from your terminal to run all unit and UI tests
## Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Make sure your changes are tested either with unit or UI tests. (`bundle exec fastlane test`)
4. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
5. Push to the Branch (`git push origin feature/AmazingFeature`)
6. Open a Pull Request## Contact
If you need to reach out, shoot me an email at `[email protected]` or you can find me on [LinkedIn](https://www.linkedin.com/in/alex-catch/)
### Built With
A few open-source packages are used in OakOTP - you can find them listed below.
* [CodeScanner](https://github.com/twostraws/CodeScanner)
* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift)
* [KeychainSwift](https://github.com/evgenyneu/keychain-swift)
* [Resolver](https://github.com/hmlongco/Resolver)
* [SwiftlySearch](https://github.com/thislooksfun/SwiftlySearch)
* [SwiftOTP](https://github.com/lachlanbell/SwiftOTP)## License
Distributed under the MIT License. See `LICENSE` for more information.