Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/demokratie-live/democracy-client
DEMOCRACY App Client
https://github.com/demokratie-live/democracy-client
android democracy democracy-deutschland deutschland evoting ios nodejs react-native voting voting-app voting-application votingapp wix yarn
Last synced: 25 days ago
JSON representation
DEMOCRACY App Client
- Host: GitHub
- URL: https://github.com/demokratie-live/democracy-client
- Owner: demokratie-live
- License: apache-2.0
- Created: 2017-12-04T14:34:46.000Z (about 7 years ago)
- Default Branch: alpha
- Last Pushed: 2024-04-12T18:52:45.000Z (8 months ago)
- Last Synced: 2024-08-04T01:09:47.771Z (4 months ago)
- Topics: android, democracy, democracy-deutschland, deutschland, evoting, ios, nodejs, react-native, voting, voting-app, voting-application, votingapp, wix, yarn
- Language: TypeScript
- Homepage: https://www.democracy-deutschland.de/#!prototyp
- Size: 96.2 MB
- Stars: 134
- Watchers: 13
- Forks: 28
- Open Issues: 218
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-democracy - democracy client - commit/demokratie-live/democracy-client.svg?style=social) | ![stars](https://img.shields.io/github/stars/demokratie-live/democracy-client.svg?style=social&label=Stars) | (Software / Software-Development)
README
[![Build Status](https://travis-ci.org/demokratie-live/democracy-client.svg?branch=master)](https://travis-ci.org/demokratie-live/democracy-client)
The Client for the DEMOCRACY App. This includes iOS and Android generated from the same Codebase.
## Systemmap
![Systemmap](https://github.com/demokratie-live/democracy-docu/blob/master/app/Systemmap.png)
## Tech Stack
- [Node.js][node], [Yarn][yarn], [JavaScript][js], [Babel][babel], [Jest][jest]
- [ReactNative][reactnative], [Wix ReactNativeNavigation][wix], [StyledComponents][styledcomponents][More Dependecies](https://github.com/demokratie-live/democracy-client/network/dependencies)
![Projekt Struktur](https://github.com/demokratie-live/democracy-assets/blob/master/docu/api_structure_client.png)
## Prerequisites
- [Node.js][node]
- [Android Studio or Android SDK][android] follow the installation Instructions [here](http://facebook.github.io/react-native/docs/getting-started.html)
- [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](https://facebook.github.io/react-native/docs/getting-started)
### Android Workaround (currently handled by postinstall script) https://github.com/facebook/react-native/issues/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](CONTRIBUTING.md). Start by checking out the list of
[open issues](https://github.com/demokratie-live/democracy-client/issues).## License
Copyright © 2017-present DEMOCRACY Deutschland e.V.. This source code is licensed under the Apache 2.0 license found in the
[LICENSE](https://github.com/demokratie-live/democracy-client/blob/master/LICENSE) file.## Maintainers
Manuel Ruck
Maintainer
Ulf Gebhardt
Maintainer
## Toolset
[BrowserStack](http://www.browserstack.com) 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](https://www.democracy-deutschland.de)), [startnext contributors](https://www.startnext.com/democracy/unterstuetzer/) and [contributors](https://github.com/demokratie-live/democracy-client/graphs/contributors)
[node]: https://nodejs.org
[yarn]: https://yarnpkg.com
[js]: https://developer.mozilla.org/docs/Web/JavaScript
[babel]: http://babeljs.io/
[reactnative]: http://www.reactnative.com/
[android]: https://developer.android.com/studio/index.html
[jest]: http://facebook.github.io/jest/
[wix]: https://github.com/wix/react-native-navigation
[styledcomponents]: https://github.com/styled-components/styled-components