Main Features • Display a list of users from GitHub APIs, with some details (username, avatar, number of public repositories, and followers) • Display a list of repositories for the selected user (repository name, description, and License) • Show all users that are forked selected repository.
Architecture • We would like you to use the MVVM architecture or an iteration of MVVM. Try to solve the problem of mixing business and presentation logic in the View Model. • The project should be very easy to unit test, and should have at least five unit tests. • Feel free to choose the Observer mechanism. • Support error scenarios by simply showing an alert view.
Guidelines • Be expressive, write code as you speak, and be optimally verbose. • The app should cache the images so they’re available when the app is offline • The app should show loading indicators when the feed is loading • Use Auto Layout when possible. Please decide between Xib vs. Storyboards, we would love to know your opinion on that one. • Use URLSession with Codable protocol. • The app should be optimized for memory and network usage.