Devpass Middle Engineer Test #1

What is expected?

In this test, you have to complete our repository list app by implementing an integration with Devpass API repositories endpoint in order to list code repositories of an user.

TLDR

  • Clone this repository.
  • Open DevpassMiddleTest1 project using Xcode 12.4.
  • Implement the User Stories and fix all TODO comments.
  • Zip your solution and send us!

User Stories

US01 - Repositories List

As an user
I want to see a list of repositories of a GitHub user
So I can pick the one I want

Acceptance criteria

  • This screen must have a text field so the user can type a GitHub user name and press Done to show repositories.
  • The screen's initial state must show an empty view.
  • While the repositories are fetched, show the user a loading state.
  • Each element of the list should have the repository's name, its main language and the number of stargazers.

UI mockups

Screen Shot 2021-03-13 at 7 24 16 PM

Solution requirements

  • Use Xcode 12.4, iOS 14.4, Swift 5.4 and iPhone 12 Pro simulator.
  • Don't use third-party libraries.
  • TODO comments give you some hints of tasks you must complete.
  • The app is expected to work only for iPhone in portrait mode.
  • Keep performance and corner cases in mind. Beware of the retain cycles!
  • Follow the UI mockups.

Delivery

  • You have 1 hour to develop the user stories and fix all TODO comments.
  • Compress your solution to a zip file and send it to rborges.soares@gmail.com.

Evaluation Method

  • Good coding practices and patterns.
  • Code readability and reusability.
  • View componentization.
  • File and folder structure.
  • Tests, tests, tests!

Questions?

If you have any questions, please send an email to rborges.soares@gmail.com. We will reply as fast as we can.

Good luck! 🍀