Skip to content
Technical challenge from FINN.no
Swift
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
GitHub
cantera.xcodeproj
cantera
canteraTests
canteraUITests
.gitignore
.swiftlint.yml
README.md

README.md

cantera

A small app I am making for a technical challenge from FINN.no.

Structure

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 ;)

Demo

gif

Potential improvements

Animations

It would have been awesome if I had gotten around to making some animations. Like f. ex. user toggles the favourite button.

Use ad-type

It would have been cool to show different views based on the ad-type, maybe icons like FINN does?

Misc topics

  • 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:

sketch

You can’t perform that action at this time.