Skip to content

NrmeenTomoum/ListOfProductsProject

Repository files navigation

#Demo of the Task

demo.mov

Clean Architecture for SwiftUI + Combine

Using Lastest technology which is SwiftUI and combine MVVM Archetecture

Architecture overview

Presentation Layer

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

Business Logic Layer is represented by ViewModels.

Data Access Layer

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 .

Home Screen Products Grid in 16 pro max

Screenshot 2025-05-08 at 8 30 32 AM

Home Screen Products Grid in 16

Screenshot 2025-05-07 at 8 54 12 PM

WishList Screen List of wishList product

Screenshot 2025-05-07 at 8 55 25 PM

Loading screen Screen

Screenshot 2025-05-07 at 2 57 09 PM

Error Handling Screen

Screenshot 2025-05-07 at 2 55 58 PM

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages