A small app I am making for a technical challenge from FINN.no.
The app consists of one view controller AdsCollectionViewController. The controllers main content view is a collection view that uses the AdViewCollectionViewCell. The other views are LoadingIndicatorView, EmptyCollectionView and FavoriteButton. The networking requests are managed by the RequestHandler. For persistence the StorageHandler is used.
The group structure is summarised below with clickable links for your convenience ;)
- Handlers - persistence and networking
- Extensions - extensions for convenience
- Controller - view controller used in the app
- View - all the views
- Model - API and UI model
It would have been awesome if I had gotten around to making some animations. Like f. ex. user toggles the favourite button.
It would have been cool to show different views based on the
icons like FINN does?
- Proper error strategy (be responsive and avoid eternal spinning wheel or empty screens)
- Performance tuning using instruments
- Cleanup strategy for persisted file
One more thing
The feature I wanted to add was a collection of predefined layouts the user
could switch between. So for ex. you would press a
UIBarButtonItem and it
would change the layout from grid to table view. I mainly wanted to support
three layouts, the table view type one, regular collection view grid and a nice
full screen one. Below is a drawing of it: