Reviewed-on: #10 |
||
---|---|---|
bin | ||
public | ||
resources | ||
src | ||
tests/unit | ||
.browserslistrc | ||
.dockerignore | ||
.editorconfig | ||
.eslintrc.js | ||
.gitignore | ||
.graphqlconfig | ||
.snyk | ||
LICENSE | ||
README.md | ||
babel.config.js | ||
dev.Dockerfile | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
postcss.config.js |
README.md
KANDIMAT
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.
Issues
..are tracked @ https://git.netzbegruenung.de/NB-Public/kandimat/issues
Calculation Model
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
.
⌨️ Development
This is a Vue.js progressive web application, developed with @vue/cli
.
Command | Description |
---|---|
npm install |
Installs dependencies |
npm run serve |
Serve with hot reload at localhost:8080 |
npm run build |
Build for production with minification |
npm run test:unit |
Run all unit tests |
npm run lint |
Runs standard over all .js and .vue files and fixes problems |
npm run svg |
Creates all SVG files used in the application |
npm run admin |
Creates config.yml for Netlify CMS admin UI |
Working with GraphQl backend
As a connector to the backend, apollo-vue
is used.
Queries are written as gql
strings.
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.
Notes
- 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.
These include
party
(better description would beperson
)
Props
This user app is based on source code of EUROMAT targeted at european elections.