Go to file
Jim Martens 713ccd9d46 Applied code formatting 2023-07-29 14:04:47 +02:00
.run Moved connection string to env var 2023-07-12 08:53:34 +02:00
buildSrc Applied code formatting 2023-07-29 14:04:47 +02:00
config/checkstyle Initial commit 2023-07-01 21:49:36 +02:00
gradle Moved to Gradle Kotlin DSL 2023-07-29 13:56:23 +02:00
http-requests Added http requests to calculate result 2023-07-13 23:21:10 +02:00
module-server Moved to Gradle Kotlin DSL 2023-07-29 13:56:23 +02:00
.editorconfig Initial commit 2023-07-01 21:49:36 +02:00
.gitattributes Initial commit 2023-07-01 21:49:36 +02:00
.gitignore Initial commit 2023-07-01 21:49:36 +02:00
LICENSE Initial commit 2023-07-01 21:49:36 +02:00
README.md Added data source 2023-07-22 08:32:59 +02:00
build.gradle.kts Applied code formatting 2023-07-29 14:04:47 +02:00
gradle.properties Changed package to wahlrecht 2023-07-02 18:03:41 +02:00
gradlew Initial commit 2023-07-01 21:49:36 +02:00
gradlew.bat Initial commit 2023-07-01 21:49:36 +02:00
lombok.config Initial commit 2023-07-01 21:49:36 +02:00
settings.gradle.kts Moved to Gradle Kotlin DSL 2023-07-29 13:56:23 +02:00

README.md

Wahlrecht (Electoral Law)

This application allows the storage of core election data (elections, parties, nominations, candidates, election results) and the calculation of election results. This can be used to quickly get the list of elected candidates from each party based on a final, incomplete or fictional election result.

Motivation

The electoral law for the district and city elections in Hamburg is rather complex on the side of counting the results. This application takes away the complex part of determining the elected candidates based on the vote results. This allows, for example, playing around with what-if scenarios: What if one party gets 100 more votes in one constituency, how would that change the set of elected candidates?

Another motivation: the official list of vote results per candidate is only available in a PDF and not in machine-readable format. All vote results for each candidate were extracted manually from that PDF and are now available in easy-to-consume JSON format.

Correctness

The correctness of the calculation was tested with the final election results from the 2019 district election. When calculating, the application returns the utilized election numbers which can be used to compare with the official calculation as documented by the Statistikamt Nord. Except rounding differences a couple positions after the point, the numbers are equal.

Furthermore, unit tests check those results automatically.

Data source

The source for the data that will be available on the hosted service is the Statistikamt Nord. All information can be obtained from there (in German): https://www.statistik-nord.de/wahlen/wahlen-in-hamburg/bezirksversammlungswahlen/2019#c7624