BreakingBad
Implemented MVVM-C (Coordinator) architecture pattern for the project. Which is satisfying SOLID principples altogether. Protocol oriented development has been followed.
Project is containing multiple Coordinators to handle specific navigation flow ,
- DashboardCoordinator (handiling flow to Dashboard)
 - CharactersListCoordinator (handling flow to Characters list -> DetaiVC)
 - EpisodesListCoordinator (handling flow to Episodes list -> DetaiVC)
 - QuotesListCoordinator (handling flow to Quotes list)
 
All coordinators holding an Interactor for specific required protocols to call needed Web-API
- CharactersProvider
 - EpisodesProvider
 - QuotesProvider
 
Implemented CI/CD Pipeline for both branches (main & master). (note: archieve script has not been written due to not having enrolled myself into developer program) in .gitlab-ci.yml file archive script is not written but can have a look on separate file- archive.sh
Project contains Cocoapods dependency manager to handle dependencies like,
- Kingfisher (to downloading an image)
 - SwiftLint (to improve code quality)
 
For TDD approach written test cases for ViewModels (couldnn't affoard much time to it), so code coverage will not be that good. :(
Most of the screen in app, supports Dark and Light theme
//TODO: list
- More tests cases to improve code coverage
 - Removing storyboards