Skip to content

esarbe/votelog

Repository files navigation

Votelog

votelog is a web application that provides a convenient interface for the Swiss parlaments's Curia Vista database.

The web frontend can be found at http://prototype.votelog.ch/.

Work on the M4 feature set is ongoing.

Up to M3 the following features are planned or implemented:

  • Creation of user accounts

  • Protection of resources using permission framework

  • Creation of organisational accounts

  • Assignment of permissions using roles/capabilites

  • Retrieval of CuriaVista entities such as parliamentarians, affairs, bills and votes

  • Search index for CuriaVista entities

  • Assignment of 'preferred' voting results by organisations

  • Ranking of politicians according to organisations' voting preferences

The votelog part facing the Curia Vista database is written in Python.

Setup VoteLog Server for local development

The server part of votelog is written in Scala and uses sbt for building the software. The following instructions assume that sbt has been installed

Clone and checkout repository

$ git clone [email protected]:esarbe/votelog.git

Running votelog web server

Launch into the sbt build environment

$ cd votelog
$ sbt

Start webserver application:

sbt:votelog> run

HTTP server configuration

The votelog HTTP server application configuration is located at src/main/resources/application.conf. It allows configuration of port and interface the HTTP server listens to. The configuration settings can be overwritten by setting the corresponding environment variables.

Environment Variable Function
CURIAVISTA_DATABASE_URL CuriaVista database URL
CURIAVISTA_DATABASE_PASSWORD CuriaVista database password
CURIAVISTA_DATABASE_USER CuriaVista database user
SECURITY_PASSWORD_SALT application security salt
SECURITY_SECRET application security secret
VOTELOG_DATABASE_URL votelog database URL
VOTELOG_DATABASE_USER votelog database user
VOTELOG_DATABASE_PASSWORD votelog database password
INDEX_DIRECTORY file system directory location for lucene search index files
HTTP_DOMAIN http domain (defaults to votelog.ch )

Votelog REST interface

Documentation for the VoteLog REST API can be found at https://api.votelog.ch/api/v1/doc/

Starting local docker for testing

docker-compose -f testing/postgres.yml up postgres

License

This project is licensed under the AGPL-3.0-or-later. See LICENSE.md

This project includes parts that are licensed unter the The MIT License (MIT). The corresponding source files have an appropriate license header.

Releases

No releases published

Packages

No packages published