The objective of this practice is to implement an IOS iPhone mobile application that is capable of consuming a Marvel web service and displaying the information.
For the development of the application, the following technologies should be used within an MVVM architecture:
- SwiftUI
- Combine
The application will consist of a list of heroes, where a list with the photo and name will be displayed. When tapping on a hero, the detail view will show the series in which the hero appears, along with a photo of the series, the title, and a description.
Testing needs to be added to the App's code and a minimum code coverage of 50% should be achieved.
- Clean architecture
- Data Layer
- DTO Models mappers to Domain
- Network with endpoint connection.
- Repository
- Domain Layer
- UseCases
- Models
- Presentation Layer
- ViewModels
- Views
- Data Layer
Layer-to-layer connection with protocols and Combine.
- HeroList
- HeroDetail
- SerieDetail
To run the project, you need to obtain the authorization data from the Marvel API. These are hash, apikey, and ts.
Once you obtain these data, add them to the ApiConfig file in the project.
For convenience, you can search for it with keyboard shortcut CMD + Shift + O.