/GitHub-Repos-Finder

This is my task for applying to RippleEgypt company. It's a Github Repos Finder to fetch Github repos based on the user's search.

Primary LanguageSwift

GitHub-Repos-Finder

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.

The Task included:

  • 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.
    • Technologies used:

      • 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.