Write an application to find repositories in GitHub.
The application is ready to be used after downloading.
The application must include the following screens:
- Authorization screen in GitHub. Two-factor authentication is not enabled.
- Screen with search field and list of found repositories. You need to display an "infinite" feed of search results: the name of the repository, its short description, the main language, the number of stars, and, if available, the first image from the README file.
- Detailed view of information about the repository. Any interesting information.
- The project must be put into a repository on GitHub.
- The project should compile and run. Assembly instructions are described in the README.
- Use the Texture framework for layout
- DO NOT use XIB / Storyboard
- DO NOT use Alamofire / AFNetworking / Moya
- Minimum iOS version - 13
- Avatar of Repository Owner
- Repository Name
- Repository Description
- Repository Language
- Number of stars (watchers)
- The same header as the results list.
- Other information is contained in the scroll view.
- Rendered markdown file from repository's README file.
- If the user has not yet authenticated, then the login screen will be presented.
- If the authentication is successful, the credentials screen will present.
- A button for logging out.
- Asynchronous loading of search results.
- Offline mode (search results should be cached - CoreData / UserDefaults / SQLite ).
- Rendering the README file on the screen with information about the repository.
- Handling authorization errors
Unfortunately, I wasn't able to find a way to render the markdown-formatted README file natively. Since it is nonmandatory on the project, I have used a custom package called MarkdownView.
On the tests I have done on several devices and versions, the view sometimes isn't working properly on iOS 13. So, if possible, use iOS 14.5 and later.