Skip to content

demokratie-live/democracy-development

Repository files navigation

Screenshot

Demokratie-App

Build Status

Webseite: https://www.democracy-deutschland.de/

Crowdfinanzierung: Startnext

Demo: https://www.democracy-deutschland.de/#prototyp

Funktion

Es soll eine App und Desktop-Anwendung entwickelt werden, die es ermöglicht über Belange des Bundestages und lokaler Gruppen abstimmen zu können. Jeder Mensch soll dabei genau eine Stimme haben. Roboter sollen an der Abstimmung nicht teilnehmen können.

Nutzen

Es wird ein Stimmungsbild über politische Entscheidungen erstellt, das als Grundlage für die Entscheidung der Verantwortungsträger dienen kann. Die Nutzer können Druck auf die Entscheidungsträger ausüben, wenn diese sich nicht an die Entscheidung der Mehrheit halten und eine Erklärung für sein Verhalten einfordern.

Stimmung wird messbar, zu jeder Zeit, zu jedem Thema, dass genug Teilnehmer hat.

Anforderungen

  • Sicherheit (Anonymität, Beweisbarkeit, Fälschungssicherheit)
  • Useability & geringe Hürden zur Teilnahme.

Es sollte der Ansatz Security-by-Design verfolgt werden, um den Nutzer glaubhaft zu versichern, dass er keine Nachteile durch die Nutzung der Applikation hat. Absolute Sicherheit ist leider nie möglich und bedarf erheblichen Arbeitsaufwand. Hier muss zwischen Aufwand, Sicherheit und Usability abgewägt werden. Es sollte ein Modell der schrittweisen Einführung von Sicherheitsmechanismen verfolgt werden, um die Realisierung zu ermöglichen - der Nutzer sollte über die bereits erfüllten und unerfüllten Sicherheitsziele zu jeder Zeit informiert werden.

Sicherheitsziele:

  • Anonym
  • Beweisbares Ergebniss
  • (partielle) Dezentralität

Implementierung - Ziele

Um die Realisierung zu gewährleisten muss das Projekt in Schritten implemntiert werden.

app

Roadmap - Versionen

DEMOCRACY Deutschland wurde über Startnext für einen Prototyp finanziert. Selbstverständlich planen wir darüber hinaus.

Daher haben wir eine Roadmap entwickelt, was wir wann erreichen möchten: Roadmap

Zentrale Architektur Fragen:

v1_architektur

Entwicklung & Werkzeuge

MeisterTask

Analysetool Dateistruktur

Analysetool Commits

Malwerkzeug zur Planung

Open Source

Wir entwickeln Open Source unter der Apache 2.0 Lizenz

Welche Architektur?

Für den Client hier und hier nachzulesen.

Für den Server hier und hier nachzulesen.

Für den bundestag.io (Bundestags-API) hier und hier nachzulesen

Running the Dev Environment

Run the following:

git clone git@github.com:demokratie-live/democracy-development.git
cd democracy-development

Without docker

You need to have a MongoDB running as well as NodeJS installed on your system.

If you need further configuration, you can do:

cp .env.example .env

Change .env if necessary.

Once this is set up, run the following:

pnpm install
pnpm run dev

Now visit localhost:3100 and you should see the GraphQL playground.

With docker

Run:

docker-compose up

Now visit localhost:3100 and you should see the GraphQL playground.

Kuberneetes

Preparation

install kustomize brew install kustomize

Generate Kubernetes configs

run pnpm build:k8s:STAGE replace Stage with alpha|internal|local|prod

Monitoring

https://www.youtube.com/watch?v=h_GGd7HfKQ8

build docker image of a service

Example for the qr-code-handler service

SERVICE=qr-code-handler
SERVICE_PATH=services/$SERVICE

docker buildx build \
    --build-arg SERVICE=$SERVICE \
    --build-arg SERVICE_PATH=$SERVICE_PATH \
    --build-arg NODE_VERSION=$(cat .node-version | tr -d 'v') \
    -f infra/Dockerfile.service \
    -t $SERVICE \
    .

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.


Made with ♥ by Team DEMOCRACY (democracy-deutschland.de), startnext contributors and contributors