Voltar ao ranking

khoren93/SwiftHub

Swift

GitHub iOS client in RxSwift and MVVM-C clean architecture

rxswiftmoyafastlanemvvmgithubnetworkingswiftcleanarchitecturemvvm-architectureopen-sourcerestgraphql
Crescimento de estrelas
Estrelas
3.1k
Forks
541
Crescimento semanal
Issues
27
1k2k3k
set. de 2018abr. de 2021dez. de 2023jul. de 2026
README

SwiftHub logo

GitHub iOS client in RxSwift and MVVM-C clean architecture.

FlutterHub - Flutter version available at an early stage

Content

Screenshots

04_trending_repository_screen  01_search_repository_screen  02_repository_details_screen  05_search_user_screen  06_user_details_screen  03_settings_screen 

Mind Mapping (full version)

SwiftHub mind note

App Features

  • Basic, Personal Access Token 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...
  • View issue and pull request messages (MessageKit)
  • Tool for counting lines of code from github repositories (codetabs) (Charts)
  • 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)
  • View a 3D model of your GitHub contribution grap (skyline)
  • 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
  • Sourcetree - A free Git client for Windows and Mac
  • Postman - A powerful HTTP client for testing web services (view)
  • Sketch - A digital design app for Mac (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 command to install Xcode's command line tools, if you don't have that yet

xcode-select --install

Install Bundler for managing Ruby gem dependencies

[sudo] gem install bundler

Install Brew package manager for macOS:

For MacOS Catalina, macOS Mojave, and MacOS Big Sur:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

For macOS High Sierra, Sierra, El Capitan, and earlier:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Install Node (required to install Apollo)

brew install node

The following commands will set up SwiftHub

cd SwiftHub
bundle install
bundle exec fastlane setup

To update all tools and pods

bundle exec fastlane update

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.

SwiftHub In

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
  • FastHub - FastHub the ultimate GitHub client for Android.

License

MIT License. See LICENSE.

Repositórios relacionados
ReactiveX/RxSwift

Reactive Programming in Swift

SwiftMIT Licenseswiftreactivex
24.6k4.2k
Moya/Moya

Network abstraction layer written in Swift.

SwiftMIT Licenseswiftreactiveswift
moya.github.io
15.4k2k
Finb/Bark

Bark is an iOS App which allows you to push custom notifications to your iPhone

SwiftMIT Licenseiosios-app
bark.day.app
8.7k670
sergdort/CleanArchitectureRxSwift

Example of Clean Architecture of iOS app using RxSwift

Swiftiosreactive-programming
3.9k496
hilen/TSWeChat

A WeChat alternative. Written in Swift 5.

SwiftMIT Licenseuiwechat
3.8k785
lanceylai/TSWeChat

A WeChat alternative. Written in Swift 5.

SwiftMIT Licenseuiwechat
3.7k772
RxSwiftCommunity/RxDataSources

UITableView and UICollectionView Data Sources for RxSwift (sections, animated updates, editing ...)

SwiftMIT Licenserxswiftdatasource
3.1k494
ReactorKit/ReactorKit

A library for reactive and unidirectional Swift applications

SwiftMIT Licenseswiftreactorkit
reactorkit.io
2.8k271
QuickBirdEng/XCoordinator

🎌 Powerful navigation library for iOS based on the coordinator pattern

SwiftMIT Licenserxswiftrxswift-extensions
2.4k191
pakerwreah/Calendr

Menu bar calendar for macOS - MVVM | RxSwift | AppKit | SwiftUI

SwiftMIT Licensecalendarmacos
2.3k92
CombineCommunity/rxswift-to-combine-cheatsheet

RxSwift to Apple’s Combine Cheat Sheet

RubyRubyGemsMIT Licenserxswiftcombine
medium.com/gett-engineering/rxswift-to-apples-combine-cheat-sheet-e9ce32b14c5b
2.1k128
RxSwiftCommunity/RxFlow

RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern

SwiftMIT Licenseswiftcoordinator
1.9k117