Skip to content

NghiaTranUIT/SwiftHub

 
 

Repository files navigation

SwiftHub iOS

Open source Github iOS client written in RxSwift and MVVM architecture.

Screenshots

01_search_repository_screen_light  01_search_repository_screen_dark  01_search_repository_screen_dark 

Features

  • Basic authentication
  • Clean architecture using RxSwift and MVVM
  • Flow coordinators
  • Color themes in Light and Dark modes using RxTheme
  • Programmatically UI using SnapKit
  • Support iPhone and iPad
  • OAuth2 authentication
  • Dependency injection using Swinject
  • In-app language switching
  • Add analytics events
  • More screens
  • Add tests

Building and Running

You'll need a few things before we get started. Make sure you have Xcode installed from the App Store. Then run the following two commands to install Xcode's command line tools and bundler, if you don't have that yet.

[sudo] gem install bundler
xcode-select --install

The following commands will set up SwiftHub.

cd SwiftHub
bundle install
bundle exec fastlane setup

Alrighty! We're ready to go!

Debugging

Flex debugging tool has been integrated in this application. To enable it, just swipe right anywhere in the application. There are also included debugging Hero animations. To use it, swipe right with two fingers. Repeat this to disable.

Fastlane

fastlane automates common development tasks - for example bumping version numbers, running tests on multiple configurations, or submitting to the App Store. You can list the available lanes (our project-specific scripts) using bundle exec fastlane lanes. You can list available actions (all actions available to be scripted via lanes) using bundle exec fastlane actions. The fastlane configuration and scripts are in the fastlane folder.

Design

All icons used in the application are taken from the Feather. Thanks to them for the beautiful open source icons.

References

License

MIT License. See LICENSE.

About

Reactive Github client.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 97.7%
  • Ruby 2.3%