- Notifications
You must be signed in to change notification settings - Fork2
ngocpd-1250/clean_swiftui_combine
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The example app uses the Clean Architecture approach with SwiftUI and Combine.
- Xcodegen: Automated project configuration.
- Clean Architecture: Separation of concerns with clear boundaries between layers.
- SwiftUI: Declarative UI framework for building modern iOS apps.
- Combine: Reactive framework for handling asynchronous events and data streams.
- Dependency Injection: Easy management of dependencies and testability.
- Unit Tests: Includes unit tests for business logic and use cases.
- Dark Mode: Programmatically supports Dark Mode switch.
- SwiftData: SwiftData support.
- Xcode 15.0+
- Swift 5.7+
- Homebrew installed
Install Homebrew Dependencies:
brew install xcodegen swiftlint swiftformat
Clone the Repository:
git clone git@github.com:ngocpd-1250/clean_swiftui_combine.gitcd BaseSwiftUI
Generate Xcode Project:
Use
xcodegen
to generate the Xcode project:xcodegen
Open Xcode:
Open the generated Xcode project:
open BaseSwiftUI.xcodeproj
Build and Run:
Build and run the project in Xcode.
The project follows the Clean Architecture principles with the following layers:
- Presentation: SwiftUI views, navigators and view models.
- Domain: Business logic and use cases.
- Data: Data sources and repositories.
- Linting:SwiftLint
- Formatting:SwiftFormat
- LinkNavigator: for navigation management
- Factory: for dependency injection
- Rswift: for resource management
- Kingfisher: for loading and caching remote images
- Alamofire: for API requests
About
Clean Architecture MVVM using SwiftUI + Combine
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.