Skip to content

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

Notifications You must be signed in to change notification settings

david6p2/MeliCarViewer

Repository files navigation

Meli Car Viewer

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

App Demo

Architecture

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.

Elements used

SearchViewController

Screenshot Description
SearchViewController - 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

CarResultsViewController

Screenshot Description
CarResultsViewController - 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

CarDetailViewController

Screenshot Description
CarDetailViewController - 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

Pending tasks

  • 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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages