This is my try solving RippleEgypt's task, it's a Github Repos Finder that fetched Github repositories based on the user's input for a repo name, it lists all of the repos with the specified query name with a limit of 50 repos.
- Using Github API v3 to fetch repos from GET endpoint :"https://api.github.com/search/repositories?q=:query" with repo name instead of :query.
- Displaying the results in a TableView with custom TableViewCell.
- Using custom TableViewCell including the image of the user, repo's name, and the description (if found).
- API authentication using Github OAuth 2.0 Authentication.
- RxSwift
- RxCocoa
- Alamofire
- Core Data (incomplete unfortunately, but will fix it later. )
- MVVM architecture
- DI (Dependency Injection) in multiple ways.
- Two sources of data: Real Github API and a mocked local JSON files.
- Unit tests for the project.