This repository contains the source code for the Binary Next-Gen webapp and Android app.
Note: As of Nov 2017, we no longer develop and publish the iOS version of next-gen, in accordance to App Store Guideline 3.2.2 (viii).
Once you downloaded the repo, cd
to project root and execute (you will need yarn):
yarn install
yarn start
Now in your web browser go to http://localhost:3000 to see your app.
To contribute to Binary Next-Gen, fork this project and checkout the dev
branch. When adding features or performing bug fixes, it is recommended you make a separate branch off dev
. Prior to sending pull requests, make sure all unit tests passed (this project uses Jest):
yarn test
Note: When you send pull requests, remember to set the base branch to
dev
.
Once your changes have been merged to dev
, it will immediately deployed to app.binary.com/beta. If the commit is also tagged, a new prerelease will appear in the github releases page.
If you are a QA engineer, what you may want to do is change the endpoint. You can do this by executing the following code in the developer console (where www.binaryqa37.com
is your endpoint and 1003
is your appId):
setLocalEndpoint("www.binaryqa37.com", "1003")
To reset the endpoint to default values, execute:
resetLocalEndpoint()
There may be cases when you want to visit your webapp on devices other than your development environment. To do this you can deploy on your personal github.io project page.
This deployment process is automated using gulp tasks in the build
folder. After you have installed gulp globally (npm install -g gulp
), execute the following from your project root:
cd build
yarn install # <- if you have not done so
gulp deploy:test --appId 11108
Replace 11108
above with your app id. If you do not have an app id, you can register for a free app id here.
If the command executes successfully, the site will be hosted on https://YOUR_USERNAME.github.io/binary-next-gen/
, where YOUR_USERNAME
is your username. Note that if you login from there it will redirect you to https://YOUR_USERNAME.github.io
. Just change the URL and your app will be up and running again.
Alternatively (not recommended as it is quite complicated), you can use travis to deploy your github pages.
- Build Instructions for iOS and Android
- Dealing with Translations
- Development Tools
- Using Travis on Your Personal Github Page
Documentation listed in this section will be either updated or replaced in the future.
- React - JavaScript library for building user interfaces.
- React Router - for routing, mapping urls to views.
- Redux - state management.
- Reselect - data selection and computation.
- Immutable.js - immutable data structures.