- Vue 50.6%
- JavaScript 41.4%
- SCSS 4.2%
- HTML 3.5%
- Dockerfile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| bin | ||
| public | ||
| resources | ||
| src | ||
| tests/unit | ||
| .browserslistrc | ||
| .dockerignore | ||
| .editorconfig | ||
| .eslintrc.js | ||
| .gitignore | ||
| .graphqlconfig | ||
| .snyk | ||
| babel.config.js | ||
| dev.Dockerfile | ||
| jest.config.js | ||
| LICENSE | ||
| 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.