Elektronisch kandidaatstellingssysteem
  • Rust 79.1%
  • TypeScript 8.1%
  • HTML 6.5%
  • CSS 4.2%
  • Typst 1.7%
  • Other 0.3%
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Michiel c56e20f313
[#641] Prevent unnecessary page-breaks everywhere in models (#645)
Co-authored-by: Marlon <marlonbaeten@users.noreply.github.com>
2026-05-04 13:28:37 +02:00
.config Enforce newline at the end of every file 2025-12-09 16:24:22 +01:00
.github Bump Software-Improvement-Group/sigridci from 90493a84c5647511de7f2bd7f35fd15038f807f8 to 855a10ef800b17214751c0c494cc0e20fe5343ca in the github-actions group (#634) 2026-04-30 10:58:55 +02:00
auth-service [#409] Add auth service stub, select election page (#566) 2026-04-17 15:46:20 +02:00
bin [#620] Add TLS termination support (#621) 2026-04-29 10:12:58 +02:00
deploy [#650] Remove k8 deployment from this repository (#648) 2026-05-04 10:39:43 +02:00
development Bump rand from 0.8.5 to 0.8.6 in /development in the cargo group across 1 directory (#598) 2026-04-23 09:42:03 +02:00
docs [#633] Usecases csb module1 (#632) 2026-04-30 20:42:46 +02:00
frontend [#589] Highlight added candidates after adding existing candidates to list (#646) 2026-05-04 10:39:32 +02:00
locales [#639] Various improvements (#640) 2026-04-30 16:14:00 +02:00
models [#641] Prevent unnecessary page-breaks everywhere in models (#645) 2026-05-04 13:28:37 +02:00
offline [#614] Call typst directly (not via http) when embedding typst (#616) 2026-04-28 12:04:51 +02:00
playwright [#557] Improve checkboxes for H1 (#630) 2026-04-29 11:57:06 +02:00
src [#589] Highlight added candidates after adding existing candidates to list (#646) 2026-05-04 10:39:32 +02:00
tooling [#543] Fix cognitive complexity issues from sonar cube (#544) 2026-04-15 16:42:22 +02:00
validate [#595] Simplify CSRF tokens (#596) 2026-04-23 08:39:00 +00:00
.env Separate development tools project (#100) 2026-01-09 13:28:03 +01:00
.gitignore [#410] Pw test pdf endpoint (#437) 2026-03-31 16:47:00 +02:00
askama.toml Add button to download H1 (#345) 2026-02-26 09:19:33 +01:00
biome.json Playwright alternative (#371) 2026-03-02 19:42:34 +00:00
build.rs [#428] Load the embed-typst files in build.rs (#429) 2026-03-16 14:14:00 +01:00
Cargo.lock Bump the cargo group with 2 updates (#635) 2026-04-30 09:01:44 +00:00
Cargo.toml Bump the cargo group with 2 updates (#635) 2026-04-30 09:01:44 +00:00
compose.yml Separate development tools project (#100) 2026-01-09 13:28:03 +01:00
CONTRIBUTING.md Add contributor and security policy 2025-12-01 10:58:02 +01:00
deny.toml Embed typst webservice when feature flag is enabled (#356) 2026-02-27 10:17:50 +01:00
djlint.toml feature/e-ks#140: implement release pipeline (#333) 2026-03-02 16:02:57 +01:00
LICENSE EUPL v1.2 license 2025-12-01 10:16:52 +01:00
package-lock.json Playwright alternative (#371) 2026-03-02 19:42:34 +00:00
README.md Translate H1 template to Frisian (#347) 2026-02-28 08:03:26 +00:00
rustfmt.toml Enforce newline at the end of every file 2025-12-09 16:24:22 +01:00
SECURITY.md Add contributor and security policy 2025-12-01 10:58:02 +01:00
sigrid.yaml [#551] Exclude some directories for sig thirdpartyfindings (#555) 2026-04-16 14:05:13 +02:00
sonar-project.properties Exclude TS from codecoverage in sonarqube 2026-02-02 14:57:09 +01:00

Let op: dit project bevindt zich momenteel in een opstartfase. Documentatie en code zullen onvolledig en soms incorrect zijn.

e-KS

Om te kunnen deelnemen aan een verkiezing moet een politieke groepering aangeven met welke kandidaten ze mee wil doen. Hiervoor moeten ze verschillende documenten inleveren bij het centraal stembureau. Dit heet de kandidaatstellingsprocedure.

e-KS staat voor het elektronisch Kandidaatstellingssysteem: een webapplicatie waarmee de Kiesraad de huidige kandidaatstellingsprocedure op een eerlijke, transparante en controleerbare manier wil moderniseren. Het nieuwe systeem zal op termijn de huidige ondersteunende software (OSV2020-PP en OSV2020-KS) vervangen.

Requirements

De kandidaatstellingsprocedure is verankerd in de Kieswet.

Een overzicht van het huidige proces en e-KS is te lezen in deze presentatie.

Belangrijke stukken of formulieren voor de kandidaatstellingsprocedure zijn:

Technische architectuur

Een overzicht van de voorgestelde technische afwegingen staat in deze presentatie.

Development setup

  1. Install prerequisites:
  1. Build and download development tools:
bin/init
  1. Start the development environment (postgres, esbuild, cargo watch, etc.):
bin/dev

Development tools

  • bin/esbuild: transpile and bundle Typescript and CSS, also services frontend assets in development
  • bin/biome: format and lint Typescript
  • bin/setup: download tools, setup database, load fixtures, etc.
  • bin/dev: start development environment (postgres, esbuild, cargo watch, etc.)
  • bin/test: run backend and frontend tests
  • bin/init: build and download development tools
  • bin/check: run linters and formatters
  • bin/build: build backend and frontend for production
  • bin/update_locales: update locale files based on used keys in the codebase

Playwright tests

Playwright lives in playwright. See playwright/README.md for setup and run instructions.