#Demo of the Task
demo.mov
Using Lastest technology which is SwiftUI and combine MVVM Archetecture
SwiftUI views that contain no business logic and are a function of the state.
Side effects are triggered by the user's actions (such as a tap on a button) or view lifecycle event onAppear
and are forwarded to the ViewModels
.
State and business logic layer (AppState
+ ViewModels
) are natively injected into the view hierarchy with @Environment
.
Business Logic Layer is represented by ViewModels
.
Data Access Layer is represented by Repositories
.
Repositories provide asynchronous API (Publisher from Combine) for making CRUD operations on the backend or a local database. They don't contain business logic, neither do they mutate the AppState. Repositories are accessible and used only by the ViewModels .




