A Vue.js powered, progressive web voting application for upcoming internal elections of Bündnis90/Die Grünen. Kandimat is hosted as a service of netzbegruenung e.V.
The calculation model for voting has been defined by the German Federal Agency for Civic Education (Bundeszentrale für politische Bildung). A good overview can be found in this PDF:
resources/Rechenmodell des Wahl-O-Mat.pdf.
This is a Vue.js progressive web application, developed with
||Serve with hot reload at localhost:8080|
||Build for production with minification|
||Run all unit tests|
||Creates all SVG files used in the application|
Working with GraphQl backend
As a connector to the backend,
apollo-vue is used.
Queries are written as
To have schema hints etc, there is a
.graphqlconfig file which should help dedicated IDE plugins
to infer the GraphQl schema directly from the (running) backend
(see main project for more information on how a "running backend" is achieved).
For example, the Intellij JS GraphQL plugin will automatically ask to download the schema definition.
- To keep the diff to the original euromat source as small as possible certain variables follow a naming convention
which may seem weird at first.
party(better description would be
This user app is based on source code of EUROMAT targeted at european elections.