iOS Project implemented with Clean Layered Architecture and MVVM.
You can find more information here:
- Domain Layer = Entities + Use Cases + Repositories Interfaces
- Data Repositories Layer = Repositories Implementations + API (Network) + Persistence DB
- Presentation Layer (MVVM) = ViewModels + Views
Note: Domain Layer should not include anything from other layers(e.g Presentation — UIKit or SwiftUI or Data Layer — Mapping Codable)
- Clean Architecture
- MVVM
- Data Binding using [Observable] without 3rd party libraries
- Dependency Injection
- Flow Coordinator
- Data Transfer Object (DTO)
- Support Dark Mode
- Add Details Screen
- Add Unit tests
- Add UI tests