- Install Xcode from the App Store and accept the license agreement.
brew install node
brew install watchman
yarn global add react-native-cli
More information on getting started can be found here: https://facebook.github.io/react-native/docs/getting-started.html under the Building prodjects with React Native
tab.
In order to run the application locally you will need to find and add some environment variables to the project. These can be found in .env.example
. Copy this file into another file called .env
:
cp .env.example .env
And fill in the required variables from the appropriate developer portals (e.g. app.contentful.com/spaces/<space-id>/api/keys).
yarn run-ios [--simulator="iPhone X"]
The quickest way is to have an Android device connected with unknown sources enabled
yarn run-android
Instructions for setting up an Android emulator can be found here
iOS: Press Cmd+R to reload \n Cmd+D or shake for dev
Android: Double tap R on your keyboard to reload,+, shake or press menu button for dev menu.
In order to fill the test CMS space with test data you can use our generate-content
script. It goes without saying make sure you are doing this on a test CMS rather than production.
To generate test data:
node ./scripts/generate-content.js generate -s <space_id> -a <access_token>
To delete the generated data again:
node ./scripts/generate-content.js delete -s <space_id> -a <access_token>
Pieces of work currently up for grabs will be listed on the issues page and tracked on the projects page. If you are able to work on the piece of work, comment on the issue. You can also discuss the feature in the isssue page. Be honest about if you have the time to work on it, there's no shame in parking a piece of work and letting someone else pick it up if you're too busy.
All Pull Requests are built by CircleCI Merging a Pull Request to the master branch will trigger a build number increase and deploy to TestFight for iOS device testing.
Submit your Pull Request from a repo fork and one of the core dev team will review and merge it.
We will keep a collection of records for "architecturally significant" decisions: those that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques.
When making such changes please include a new ADR in your PR for future prosperity.
- Install
adr-tools
: https://github.com/npryce/adr-tools - To create a new record:
adr new Implement as Unix shell scripts
To find out more about ADRs have a read of this article: http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions
- CI Pipeline: View and debug builds