/post-evoting

Starthilfe für das E-Voting-System der Schweizerischen Post

post-evoting

Deutsch

Die Post hat den Source Code ihrer E-Voting-Plattform in einem privaten GitLab-Repository zur Verfügung gestellt.

Leider ist die Dokumentation zu Kompilierung und Deployment sehr mager. Deshalb sammelt das Magazin Republik hier Patches, damit man das System «untersuchen, verändern, kompilieren und ausführen» kann – so wie es die Verordnung der Bundeskanzlei über die elektronische Stimmabgabe (VEleS) verlangt.

English

The Swiss Post has released the source code of its e-voting platform as a private, registration-required repository on GitLab. Here, the magazine Republik collects patches to “examine, modify, compile and execute” the system, in accordance with the Federal Chancellery Ordinance on Electronic Voting (VEleS).

Getting started

  1. Read the intro
  2. Register to gain access to the private repository
  3. git clone https://gitlab.com/swisspost/evoting-solution.git
  4. git clone https://github.com/orbiting/post-evoting
  5. cd evoting-solution
  6. git checkout 33a04616 -b build
  7. git apply --ignore-whitespace ../post-evoting/post-33a04616.patch
  8. Follow the instructions in the patched evoting-solution/README.md

Environment

The evoting platform requires several external services to be provided, see page 48 of the Software Architecture. Follow the steps to start an Oracle DB, RabbitMQ and OrientDB as docker containers.

  1. Go to https://hub.docker.com/_/oracle-database-enterprise-edition and proceed to checkout. This is the easiest way to get an Oracle Database.
  2. cd docker
  3. docker login
  4. docker-compose up -d

Contributing

Pull requests to facilitate the build and deployment process are welcome!