- Created file structure as per features and includes files(view, viewmodel, subviews..) into one group
- Used MVVM architecture with SOLID principles
- Made project unit testable using dependency injection/ dependency inversion whereever applicable.
- Improved test coverage for the all viewmodels
- Used composable views to build nested screens
- I would recommond usage of SPM for third party libraries.
- Image loading asynchronously Not caching into current application.
- I would recommond the modular structure based on feature.
- I would recommond Use Liniting tools eg. SwiftLint
- Support of accessibility
- Introduce XCUItest
- Modularization
- Dark theme support
- dynamic fonts
- Introduce loading indicator
- Introduce internet connectivity and failure and retry screens
- Introduce async/await for better performance and clean architecture.
- Image Cached Or might be use third party framework
- Network API calling framework if necessory
- Architecture based on design patterns
- Error Handling more effective way.