Giter Club home page Giter Club logo

democracy-client's Introduction

DEMOCRACY-Client  

Build Status

The Client for the DEMOCRACY App. This includes iOS and Android generated from the same Codebase.

Systemmap

Systemmap

Tech Stack

More Dependecies

Projekt Struktur

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

ReactNative Setup

Android Workaround (currently handled by postinstall script) facebook/react-native#25822

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 ♥ by Team DEMOCRACY (democracy-deutschland.de), startnext contributors and contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.