📱 Mobile client for GitHub build on React Native :atom:
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github/assets Feature(README): Add link to App Store & Google Play market Mar 20, 2018
__tests__ Welcome to App component Apr 28, 2017
actions Feature: Profile - start working on follow/unfollow btn Mar 10, 2018
android Feature(NPM): Upgrade react-native-device-info Aug 28, 2018
components Feature: Migrate to async lifecycle methods (drop componentWillMount) Mar 10, 2018
constants Feature: AccountNotifications - improve sync Feb 24, 2018
containers Fix: Crash, when navigate back to about when user open profile from a… Mar 20, 2018
ios Feature(NPM): Upgrade react-native-device-info Aug 28, 2018
locales [Feature] Localization added for Italian and Ukrainian languages Oct 25, 2017
reducers Feature: AccountNotifications - improve sync Feb 24, 2018
res Feature: AboutScreen - load contributors from JSON file Feb 24, 2018
utils Feature: AboutScreen - load contributors from JSON file Feb 24, 2018
.babelrc Fix: Force HTTPS for GitHub OAuth Feb 10, 2018
.buckconfig Initial Apr 28, 2017
.editorconfig Add .editorconfig Jul 10, 2017
.eslintignore [Refactoring] Up code quality Jul 14, 2017
.eslintrc Feature(iOS): Rework OAuth proccess in WebView Feb 18, 2018
.flowconfig Feature(NPM): Use latest Flow Feb 1, 2018
.gitattributes Initial Apr 28, 2017
.gitignore iOS: Welcome to FastLane Aug 12, 2017
.travis.yml [TravisCI] Use Eslint only for now Jul 14, 2017
.watchmanconfig Initial Apr 28, 2017
App.js [Flow] Migrate Sep 9, 2017
CHANGELOG.md Fix: Crash, when navigate back to about when user open profile from a… Mar 20, 2018
LICENSE Upd LICENSE May 31, 2017
Navigator.js Feature(iOS): Rework OAuth proccess in WebView Feb 18, 2018
README.md Feature(README): Update Mar 20, 2018
WORK.md [Feed] Initial support for infinity loading, refs #10 Jun 4, 2017
app.json Initial Apr 28, 2017
ghubber.keystore.enc [TravisCI] Encrypt ghubber.keystore (sign app) May 1, 2017
icon.ai [README] Redesign Aug 6, 2017
index.android.js Feature(NPM): Use latest react-native-sentry Aug 28, 2018
index.ios.js Feature(NPM): Use latest react-native-sentry Aug 28, 2018
key.p12.enc [TravisCI] Encrypt key.p12 (Google Service Key for App Publishing) May 1, 2017
package-lock.json Feature(NPM): Upgrade react-native-device-info Aug 28, 2018
package.json Feature(NPM): Upgrade react-native-device-info Aug 28, 2018

README.md

GHubber (GitHub mobile client)

Yet another Mobile 📱 client for GitHub powered on react-native.

Download on the App Store Download on the App Store

Logo

GitHub release Build Status Greenkeeper badge PRs Welcome

How to get alpha version :atom:

Android

The app is an alpha and the easiest way to install will be Play Market Alpha version. To get access to the alpha, you should:

  1. Join Google Plus Group (needed to access in play market alpha page)
  2. https://play.google.com/apps/testing/com.ghubber
  3. https://play.google.com/store/apps/details?id=com.ghubber (refresh multiple times, maybe not allowed due delay in Google)

iOS

Please send a email to zaets28rus@gmail.com with Subject: Invite me to GHubber TestFlight and your email, firstname, lastname.

Note: Be sure to incude the email you use for iTunes.

Installation

Before we start to develop app you should configure your env:

Common

  1. You should install NodeJS with NPM

OSX by brew:

brew install nodejs

Debian and Ubuntu:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
  1. Now you should install dependencies by NPM, inside project directory run:
npm install

If you have another OS

Android

  1. You should download and install Android Studio
  2. Run Android Studio and download default SDKs, don't forget to configure path(s)
export ANDROID_HOME=/Users/<user>/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
  1. Run emulator:

Way 1: Built-in Android emulator, use KVM on linux if it's installed for acceleration

Note: KVM and VirtualBox supposedly cannot coexist, or rather, VirtualBox won't run while the KVM modules are loaded in memory

The easy way will be to create a new device inside Android Studio, press run

Way 2: Genymotion is a cool emulator, it runs on VirtualBox

Run it, you will see ;)

Way 3: Run on real device (I didn't use this method for development, and I don't recommend it)

First you should enable Developer menu on Android, Google it or try:

  1. Go to the settings menu, and scroll down to "About phone." Tap it.
  2. Scroll down to the bottom again, where you see "Build number." (Your build number may vary from our's here.)
  3. Tap it seven (7) times. After the third tap, you'll see a playful dialog that says you're four taps away from being a developer. (If only it were that simple, eh?) Keep on tapping, and poof, you've got the developer settings back.

iOS

Note: Sorry, but for build iOS you should have macOS

It's pretty easy, you should install XCode by AppStore 👍

Lets run ;)

Way 1

You should open 2 terminals

Inside second you should write:

npm run start

Inside first:

Android:

npm run android

iOS:

npm run ios

Way 2

Or just run npm run start:android or npm run start:ios depending on the platform 😄

Roadmap

Will be continued // @todo

  • AccountIssues
    • Overview
    • Filter by types
    • Infinity loading
    • Refreshing
  • Feed
    • Overview
    • Infinity loading
    • Refreshing
  • Profile
    • Overview
      • Information
      • Contributions Graph (Tablet only, for now)
      • Organizations
      • Pinned Repositories (will be in v0.5.0)
    • Repositories
    • Stars
    • Following
    • Followers
    • Gists
  • Repository
    • Overview
    • Issues
    • PRs
    • Watchers
  • Organization
    • Overview
    • Teams
    • Repositories
  • Pull Request
    • Overview
    • Close/re-open
    • Add/remove/edit comment
  • Issue
    • Overview
    • Close/re-open
    • Add/remove/edit comment

Sponsors

Thanks to our sponsors and supporters:

JetBrains Interpals
WebStorm Hosting App inside Itunes

LICENSE

This project is open-sourced software licensed under the MIT License with Additions.

  • You are not able to edit About Page.
  • Delete any copyrights.
  • You are not able to fork/clone/rebuild repository to publish "YOU FORK NAME" to Play Market, ITunes or any app stores.

See the LICENSE file for more information.