This is an app to test the Mercado Libre API. Especially the one related with cars.

It uses MVC but treating the ViewControllers also as Views to just show UI Elements and having Controllers to manage/format all the data that the Views/ViewControllers are going to show.
| Screenshot |
Description |
 |
- Custom TextFlied that use a Picker as input view to select the Porsche model to search for - It works in portrait and landscape mode - Use of custom Button - Custom AlertViewController shown if no model is selected. This custom AlertViewController is also used to show errors in all the App - This view was made using Storyboard |
| Screenshot |
Description |
 |
- CollectionViewController with Diffable Datasource and custom Layout - SearchBar that filters the current results - It works in portrait and landscape mode - Formatted car price - Use of custom labels - Pagination - Use of custom DataLoadingViewController when loading new pages of car results - This view was made programmatically |
| Screenshot |
Description |
 |
- Scroll view to fit all the views in different Screens - Created using Container View Controllers to solve having a masive View controller - It works in portrait and landscape mode - Use of stack views - Use of custom labels - All the car images are downloaded using a OperationQueue, but just the first is shown. In pending task we have a PagedViewController to show all the images - Use of date formatter and currency formatter - This view was made programmatically |
- Add more test to increase coverage
- Use a coordinator pattern to take the navigation outside of the ViewControllers
- Create a PagedViewController to show all the car images
- Use SwiftUI for the UI and Combine for use reactive programming