Skip to content

Instantly share code, notes, and snippets.

@robertmogos
Last active March 30, 2018 08:58
Show Gist options
  • Save robertmogos/b4ab1666f01819ab68ea1ce07021cdf9 to your computer and use it in GitHub Desktop.
Save robertmogos/b4ab1666f01819ab68ea1ce07021cdf9 to your computer and use it in GitHub Desktop.

iOS Technical Test

image

Important: Algolia will never reuse your work. This assignment is for evaluation purposes only

The goal of this assignment is to create a small e-commerce app using Algolia Search Swift Client

Like any other e-commerce app ( Amazon, Bestbuy, etc) the goal is to build an app where the customers can search for products. When clicking on a product, the details should be displayed. It is up to you to decide what details you want to highlight.

Required features of the app

  • Search page:
    • search box
    • list of results (UITableView, UICollectionView, whatever you feel might be the right component)
    • the number of found items
    • search as you type. Any time the user is typing something, show the new matching results
  • Detail page for the results (when selection a product from the result list)

The app doesn't need to have a login page or a user account

Nice to have but not required

  • filter products by price / reviews / etc
  • unit tests and functional tests
  • anything that you think is essential when delivering something that is going to be used by other people

Rules

  • Your app needs to use Algolia Search Swift Client
  • You can use any external dependencies with CocoaPods, Carthage, etc, as long as you explain why and how and where you used it

Example datasets

You can find ready to use datasets here: https://github.com/algolia/datasets/tree/master/ecommerce. Create your own Algolia account and add some indexes with those datasets.

Evaluation criteria

  • UI design that is OK to look at
  • performance: the app should strive to minimize CPU workload, especially on the main thread, and memory footprint (beware of memory leaks!)
  • the overall quality of your code
  • the architecture of your code
  • the instructions and explanations you might want to add in the README

Deliverables

  • A GitHub (public) repository to host the source code

Questions

If you need any clarifications, ping us via email: robert@algolia.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment