This is the development and operations documentation for the Ekklesia e-democracy platform.
The aim of the Ekklesia project is to provide an open, extensible platform for direct electronic democracy. Organisations have different requirements for their policy drafting and decision making process. Instead of trying to build a monolithic one-fits-all solution, we want to integrate existing free software and provide open interfaces. Ekklesia is a framework for building e-democracy systems but should still be usable out-of-the-box for common workflows. Applications developed as part of the platform should be highly customizable themselves, either by configuration or easy extension on the source code level.
The platform consists of multiple applications and supporting projects which use separate repositories. Project developed by the Ekklesia project can be found in the edemocracy organization on Github.
- ekklesia: Shared documentation
- ekklesia-portal: Motion portal, public API and administrative interface.
- ekklesia-voting: Pseudonymous voting component
- ekklesia-notify: API for sending notifications to users
- ekklesia-common: Common code for the ekklesia platform
- nix-ekklesia-vvvote: Automated Nix/NixOS deployment for the VVVote voting system.
- discourse-ekklesia: Discourse plugin for the Ekklesia platform
The projects aims to integrate with externally developed applications that serve the purpose of creating a e-democracy platform. Currently, we use or are working on integrating the following projects:
- Discourse: platform for community
- collaborative development of motion drafts
- export/import of motion drafts
- general discussion tool
- Keycloak: identity and access management with OpenID Connect support
- OpenSlides: digital motion and assembly
- motion export to Openslides
- voting result import from Openslides
- VVVote: cryptographic anonymized online voting system
- Matrix: encrypted notifications