<p align="center">
<img src="https://github.com/khoren93/SwiftHub/blob/master/Sketch/app_logo.svg" alt="SwiftHub logo" height="80" >
</p>
<p align="center">
GitHub iOS client in RxSwift and MVVM-C clean architecture.
</p>
<p align="center">
<a href="https://github.com/khoren93/FlutterHub">
FlutterHub - Flutter version available at an early stage
</a>
</p>
<p align="center">
KotlinHub - Android version is coming soon!
</p>
<p align="center">
<a href="https://itunes.apple.com/app/swifthub-git-client/id1448628710">
<img alt="Download on the App Store" title="App Store" src="http://i.imgur.com/0n2zqHD.png" width="140">
</a>
</p>
## Content
- [Screenshots](#screenshots)
- [Mind Mapping](#mind-mapping-full-version)
- [App Features](#app-features)
- [Technologies](#technologies)
- [Tools](#tools)
- [Building and Running](#building-and-running)
- [Documentation](#documentation)
- [Debugging](#debugging)
- [Fastlane](#fastlane)
- [Design](#design)
- [SwiftHub In](#swifthub-in)
- [References](#references)
- [See Also](#see-also)
- [License](#license)
## Screenshots
<pre>
<img alt="04_trending_repository_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/04_trending_repository_screen.png?raw=true" width="250"> <img alt="01_search_repository_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/01_search_repository_screen.png?raw=true" width="250"> <img alt="02_repository_details_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/02_repository_details_screen.png?raw=true" width="250"> <img alt="05_search_user_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/05_search_user_screen.png?raw=true" width="250"> <img alt="06_user_details_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/06_user_details_screen.png?raw=true" width="250"> <img alt="03_settings_screen" src="https://github.com/khoren93/SwiftHub/blob/master/screenshots/03_settings_screen.png?raw=true" width="250">
</pre>
## Mind Mapping ([full version](https://github.com/khoren93/SwiftHub/blob/master/iThoughtsX/SwiftHub_full.pdf))
<p align="center">
<a href="https://github.com/khoren93/SwiftHub/blob/master/iThoughtsX/SwiftHub_full.pdf">
<img alt="SwiftHub mind note" src="https://github.com/khoren93/SwiftHub/blob/master/iThoughtsX/SwiftHub.png?raw=true" height="250">
</a>
</p>
## App Features
- [x] Basic, Personal Access Token and OAuth2 authentication
- [x] View trending repositories and users ([github-trending-api](https://github.com/huchenme/github-trending-api))
- [x] Advanced searching and sorting repositories and users, filter by language
- [x] View repository and user details, events, issues, commits, pull requests, contributors, etc...
- [x] View issue and pull request messages ([MessageKit](https://github.com/MessageKit/MessageKit))
- [x] Tool for counting lines of code from github repositories ([codetabs](https://github.com/jolav/codetabs)) ([Charts](https://github.com/danielgindi/Charts))
- [x] The missing star history graph of github repos ([stars-history](https://github.com/timqian/star-history))
- [x] Quickly browse the history of a file from any git repository ([git-history](https://github.com/pomber/git-history))
- [x] Tool for visualizing GitHub profiles ([profile-summary-for-github](https://github.com/tipsy/profile-summary-for-github))
- [x] View a 3D model of your GitHub contribution grap ([skyline](https://skyline.github.com))
- [x] Source file viewer and syntax highlighting ([Highlightr](https://github.com/raspu/Highlightr))
- [x] Color themes in light and dark modes ([RxTheme](https://github.com/RxSwiftCommunity/RxTheme))
- [x] In-app language switching (en, zh, ru, hy) ([Localize-Swift](https://github.com/marmelroy/Localize-Swift))
- [x] Whats New functionality ([WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit))
- [x] Invite friends functionality
- [x] Support iPhone and iPad (Split View)
- [ ] Clone repository directly to app ([SwiftGit2](https://github.com/SwiftGit2/SwiftGit2))
## Technologies
- [x] Clean architecture ([RxSwift](https://github.com/ReactiveX/RxSwift) and MVVM)
- [x] Flow coordinators ([Realm demo](https://github.com/realm/EventKit/blob/master/iOS/EventBlank2-iOS/Services/Navigator.swift))
- [x] REST API v3 (for unauthenticated or basic authentication) ([Moya](https://github.com/Moya/Moya), [ObjectMapper](https://github.com/tristanhimmelman/ObjectMapper))
- [x] GraphQL API v4 (for OAuth2 authentication) ([Apollo](https://github.com/apollographql/apollo-ios))
- [x] Custom transition animations ([Hero](https://github.com/HeroTransitions/Hero))
- [x] Programmatically UI ([SnapKit](https://github.com/SnapKit/SnapKit))
- [x] Mixpanel and Firebase analytics events ([Umbrella](https://github.com/devxoul/Umbrella))
- [x] Crash reporting ([Crashlytics](https://fabric.io/kits/ios/crashlytics))
- [x] Logging ([CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack))
- [x] Google ads implementation, can be enabled/disabled from settings ([Firebase AdMob](https://firebase.google.com/docs/admob/ios/quick-start))
- [ ] Migrate to Apple's new [SwiftUI](https://developer.apple.com/xcode/swiftui/) and [Combine](https://developer.apple.com/documentation/combine)
- [ ] Dependency injection ([Swinject](https://github.com/Swinject/Swinject))
- [ ] Add tests
## Tools
- [x] [Brew](https://github.com/Homebrew/brew) - The missing package manager for macOS
- [x] [Bundler](https://github.com/bundler/bundler) - Manage your Ruby application's gem dependencies
- [x] [Fastlane](https://github.com/fastlane/fastlane) - The easiest way to automate building and releasing your iOS and Android apps
- [x] [SwiftLint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions
- [x] [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C
- [x] [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - Is a desktop application which enables you to export JSON objects as model classes
- [x] [R.swift](https://github.com/mac-cain13/R.swift) - Get strong typed, autocompleted resources like images, fonts and segues in Swift projects
- [x] [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS
- [x] [Sourcetree](https://www.sourcetreeapp.com) - A free Git client for Windows and Mac
- [x] [Postman](https://www.getpostman.com) - A powerful HTTP client for testing web services ([view](https://github.com/khoren93/SwiftHub/tree/master/Postman))
- [x] [Sketch](https://www.sketchapp.com) - A digital design app for Mac (paid) ([view](https://github.com/khoren93/SwiftHub/tree/master/Sketch))
- [x] [iThoughtsX](https://www.toketaware.com) - A mind mapping app for Windows, Mac, iPad and iPhone (paid) ([view](https://github.com/khoren93/SwiftHub/tree/master/iThoughtsX))
## 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
```sh
xcode-select --install
```
Install [`Bundler`](https://bundler.io) for managing Ruby gem dependencies
```sh
[sudo] gem install bundler
```
Install [Brew](https://github.com/Homebrew/brew) package manager for macOS:
For MacOS Catalina, macOS Mojave, and MacOS Big Sur:
```sh
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
For macOS High Sierra, Sierra, El Capitan, and earlier:
```sh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
```
Install [`Node`](https://nodejs.org/en/) (required to install [Apollo](https://github.com/apollographql/apollo-ios))
```sh
brew install node
```
The following commands will set up SwiftHub
```sh
cd SwiftHub
bundle install
bundle exec fastlane setup
```
To update all tools and pods
```sh
bundle exec fastla
没有合适的资源?快使用搜索试试~ 我知道了~
用RxSwift和MVVM-C实现的Github客户端
共492个文件
swift:192个
json:128个
pdf:80个
需积分: 5 0 下载量 185 浏览量
2023-06-13
17:16:26
上传
评论
收藏 4.16MB ZIP 举报
温馨提示
SwiftHub - GitHub iOS client 用RxSwift和MVVM-C实现的Github客户端。
资源推荐
资源详情
资源评论
收起资源包目录
用RxSwift和MVVM-C实现的Github客户端 (492个子文件)
Appfile 232B
Fastfile 2KB
Gemfile 223B
.gitignore 2KB
User.graphql 3KB
Repository.graphql 2KB
Search.graphql 1KB
SwiftHub.itmz 65KB
background.jpg 59KB
schema.json 4.52MB
RepositorySearch.json 63KB
Github.postman_collection.json 49KB
Languages.json 42KB
RepositoryTrendings.json 28KB
RepositoryContents.json 26KB
RepositoryPullRequest.json 22KB
RepositoryForks.json 17KB
UserRepositoriesStarred.json 16KB
UserRepositories.json 15KB
RepositoryReadme.json 15KB
UserTrendings.json 10KB
RepositoryCommit.json 7KB
UserSearch.json 6KB
UserRepositoriesWatching.json 6KB
Repository.json 5KB
RepositoryBranch.json 5KB
UserFollowers.json 3KB
RepositoryWatchers.json 3KB
RepositoryStargazers.json 3KB
UserFollowing.json 3KB
Contents.json 2KB
RepositoryContributors.json 2KB
RepositoryRelease.json 2KB
RepositoryIssue.json 2KB
Profile.json 2KB
User.json 1KB
Organization.json 1KB
Github.postman_environment.json 1KB
RepositoryNumberOfLines.json 641B
framefile.json 627B
Contents.json 177B
Contents.json 177B
Contents.json 175B
Contents.json 175B
Contents.json 175B
Contents.json 175B
Contents.json 174B
Contents.json 173B
Contents.json 173B
Contents.json 172B
Contents.json 172B
Contents.json 172B
Contents.json 172B
Contents.json 172B
Contents.json 172B
Contents.json 171B
Contents.json 171B
Contents.json 171B
Contents.json 171B
Contents.json 171B
Contents.json 170B
Contents.json 170B
Contents.json 170B
Contents.json 170B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 169B
Contents.json 168B
Contents.json 168B
Contents.json 168B
Contents.json 168B
Contents.json 168B
Contents.json 168B
Contents.json 168B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 167B
Contents.json 166B
Contents.json 166B
Contents.json 166B
Contents.json 166B
Contents.json 165B
Contents.json 165B
共 492 条
- 1
- 2
- 3
- 4
- 5
资源评论
yxt202112
- 粉丝: 0
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 信呼OA系统2.1.7版源码
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功