DEMOCRACY-Client Β
The Client for the DEMOCRACY App. This includes iOS and Android generated from the same Codebase.
Systemmap
Tech Stack
Prerequisites
- Node.js
- Android Studio or Android SDK follow the installation Instructions here
- [optional][windows] install windows-build-tools for node
npm install --global --production windows-build-tools (installs python) (requireds administrator rights)
Contribute
Note- It is necessary to copy the .env.example to .env to start the local development.
Install Dependencies
git clone https://github.com/demokratie-live/democracy-client
cd democracy-client
yarn install
yarn pods (macOS only)
Setup React-Native Environment
facebook/react-native#25822
Android Workaround (currently handled by postinstall script)open node_modules/@react-native-community/cli-platform-android/native_modules.gradle
replace:
def command = "node ./node_modules/react-native/cli.js config"
with
def command = "node ../../node_modules/react-native/cli.js config"
Start Developing UI
Android
cd packages/mobile-ui
yarn android
(if that gets stuck use two terminals. One for `yarn start` and one for `yarn android`)
(also make sure to use the correct java8 version: `export JAVA_HOME=/usr/lib/jvm/java-8-openjdk/`)
(also make sure to use the correct android sdk root: `export ANDROID_SDK_ROOT=/home/{username}/Android/Sdk`)
(ignore metro bundler errors)
CMD+M and Change Bundle Location to 127.0.0.1:8088
(error should be solved)
Start virtual Android Device:
open Android Studio
create Device with API 29 or higher(?)
start device
Connect real Android Device:
adb start-server
enable usb debugging on the device
authorize host on device
verify with `adb devices`
iOS
cd packages/mobile-ui
yarn ios
(ignore metro bundler errors)
CMD+M and Configure Bundler Location to Host: 127.0.0.1 & Port: 8088
(error should be solved)
Start Developing App
Android
cd packages/mobile-app
yarn android
iOS
cd packages/mobile-app
cd ios
pod install
cd ..
yarn ios
Testing
Unit tests
cd packages/mobile-app
yarn test
or with watch mode
cd packages/mobile-app
yarn test:watch
e2e Detox iOS
cd packages/mobile-app
yarn detox build -c ios.sim.debug
yarn detox test -c ios.sim.debug
e2e Detox Android
cd packages/mobile-app
yarn detox build -c android.emu.internal.debug
yarn start
yarn detox test -c android.emu.internal.debug
Deployment
Deployment is done with Travis CI
Contributing
Anyone and everyone is welcome to contribute. Start by checking out the list of open issues.
License
Copyright Β© 2017-present DEMOCRACY Deutschland e.V.. This source code is licensed under the Apache 2.0 license found in the LICENSE file.
Maintainers
Manuel Ruck Maintainer |
Ulf Gebhardt Maintainer |
Toolset
BrowserStack is supporting DEMOCRACY, allowing us to use their service. Thank you for supporting the open source community! β€οΈ
Made with