Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/igorkulman/swiftuisampleapp
SwiftUI rewrite of my iOSSampleApp aimed to learn SwiftUI.
https://github.com/igorkulman/swiftuisampleapp
binding coordinator coordinator-pattern dependency-injection ios mvvm mvvm-architecture mvvm-c mvvm-coordinator swift swiftui
Last synced: about 2 months ago
JSON representation
SwiftUI rewrite of my iOSSampleApp aimed to learn SwiftUI.
- Host: GitHub
- URL: https://github.com/igorkulman/swiftuisampleapp
- Owner: igorkulman
- License: mit
- Created: 2024-07-26T12:52:26.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-10-27T06:23:18.000Z (about 2 months ago)
- Last Synced: 2024-10-28T01:46:12.566Z (about 2 months ago)
- Topics: binding, coordinator, coordinator-pattern, dependency-injection, ios, mvvm, mvvm-architecture, mvvm-c, mvvm-coordinator, swift, swiftui
- Language: Swift
- Homepage:
- Size: 108 KB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SwiftUISampleAppApp
SwiftUI rewrite of my [iOSSampleApp](https://github.com/igorkulman/iOSSampleApp/) aimed to learn SwiftUI.
## Shown concepts
### Architecture concepts
* [Coordinators](https://blog.kulman.sk/architecting-ios-apps-coordinators/)
* Dependency Injection
* Modularization with SPM
* MVVM### Other concepts
* Protocol Witnesses
* Localization to 2 languages with String catalogs
* Continuous integration with Github Actions
* Unit tests
* Structured logging
* Xcode build plugins
* Xcode previews## Getting started
### Prerequisites
* Xcode 15
* [Fastlane](https://fastlane.tools/) (optional)## Built with
- [FeedKit](https://github.com/nmdias/FeedKit) - An RSS, Atom and JSON Feed parser written in Swift
- [SwifLint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions## Author
Igor Kulman - [email protected]
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details