Skip to content
Github iOS client written in RxSwift and MVVM clean architecture
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jan 13, 2019
Postman
Sketch Update Sketch Mar 15, 2019
SwiftHub.xcodeproj Get user details from GraphQL. Show pinned repositories in user details. Mar 19, 2019
SwiftHub
SwiftHubTests Version Bump to 16 Mar 17, 2019
SwiftHubUITests Version Bump to 16 Mar 17, 2019
fastlane Added update script in to Fastfile. Mar 12, 2019
iThoughtsX
screenshots
.gitignore
.jazzy.yaml Added iThoughts map, updated Jazzy. Feb 16, 2019
.swiftlint.yml
CODE_OF_CONDUCT.md
Gemfile Added iThoughts map, updated Jazzy. Feb 16, 2019
LICENSE
PRIVACY_POLICY.md Added Privacy Policy. Jan 11, 2019
Podfile
README.md

README.md

SwiftHub logo

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

Download on the App Store

Screenshots

01_search_repository_screen_light  02_repository_details_screen_dark  03_settings_screen_dark 

Mind Mapping (full version)

SwiftHub mind note

App Features

  • Basic and OAuth2 authentication
  • View trending repositories and users (github-trending-api)
  • Advanced searching and sorting repositories and users, filter by language
  • View repository and user details, events, issues, commits, pull requests, contributors, etc...
  • The missing star history graph of github repos (stars-history)
  • Quickly browse the history of a file from any git repository (git-history)
  • Tool for visualizing GitHub profiles (profile-summary-for-github)
  • Source file viewer and syntax highlighting (Highlightr)
  • Color themes in light and dark modes (RxTheme)
  • In-app language switching (en, zh, ru, hy) (Localize-Swift)
  • Whats New functionality (WhatsNewKit)
  • Invite friends functionality
  • Support iPhone and iPad (Split View)
  • Clone repository directly to app (SwiftGit2)

Technologies

Tools

  • Brew - The missing package manager for macOS
  • Bundler - Manage your Ruby application's gem dependencies
  • Fastlane - The easiest way to automate building and releasing your iOS and Android apps
  • SwiftLint - A tool to enforce Swift style and conventions
  • Jazzy - Soulful docs for Swift & Objective-C
  • JSONExport - Is a desktop application which enables you to export JSON objects as model classes
  • R.swift - Get strong typed, autocompleted resources like images, fonts and segues in Swift projects
  • Flex - An in-app debugging and exploration tool for iOS
  • Postman - A powerful HTTP client for testing web services (view)
  • Sketch - A digital design app (paid) (view)
  • iThoughtsX - A mind mapping app for Windows, Mac, iPad and iPhone (paid) (view)

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

Use bundle exec fastlane update to update all tools and pods. Alrighty! We're ready to go!

Documentation

You can generate the API docs locally. Run jazzy from the root of this repository. This requires installation of jazzy. You will find the output in docs/. You can set options for your project’s documentation in a configuration file, .jazzy.yaml by default.

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

See Also

  • GitHawk - The best iOS app for GitHub
  • CodeHub - An iOS application written using Xamarin
  • GitPoint - GitHub in your pocket
  • DevHub - TweetDeck for GitHub - Android, iOS, Web & Desktop
  • OpenHub - An open source GitHub Android client app, faster and concise
  • Trailer - Managing Pull Requests and Issues For GitHub & GitHub Enterprise

License

MIT License. See LICENSE.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.