kandimat/README.md
Christoph Lienhard f7a56a0bed Rename candymat -> kandimat everywhere
Furthermore, submodule link to new public repo
2022-02-02 15:06:13 +01:00

76 lines
2.1 KiB
Markdown

# Kandimat - Wahl-o-Mat fuer Personalwahlen
## Introduction
The kandimat is a Wahl-o-Mat for elections of candidates.
## Services
The project consists of three services:
* GraphQL backend (+ postgres)
* Redaktions-App
* User-App
### Redaktions-App
The Redaktions-App is used for editors and candidates to provide questions and answers.
The app is written with react and appollo-react to access the backend.
See also: [Service Readme](redaktions-app/README.md)
### User-App
The User-App is based on the [EuroMat](https://www.euromat.info/en) (Source: https://github.com/morkro/euromat)
and is used to find the perfect candidate for everyone who is allowed to vote.
It is written in vue.js.
See also: [Service Readme](https://git.verdigado.com/Netzbegruenung/kandimat-user-app/src/README.md)
### Postgraphile (Backend)
A package which creates an GraphQL api based on an underlying postgres schema.
For more on this (e.g. how to use the graphQl api by yourself) see [backend readme](backend/README.md)
## Development Setup
### Check-out repository
* [Install git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
* `git clone https://git.verdigado.com/Netzbegruenung/kandimat.git`
* To get the (external) user-app source:
```
git submodule update --init
```
### Setup Docker
Install [docker-compose](https://docs.docker.com/compose/install/) on your system.
### Start whole setup
For dev setup:
```
docker-compose up
```
* GraphQL IDE/GUI: http://localhost:5433/graphiql
* GraphQL Endpoint: http://localhost:5433/graphql
* UserApp: http://localhost:8080
* RedaktionsApp: http://localhost:8081
* Postgres database: http://localhost:5432
**Note:** The database will use a volume to persist changes in-between runs.
To start with a clean database, either delete the volume from the postgres configuration in the compose file
or run
```
docker container rm kandimat_postgres_1
docker volume rm kandimat_db-data
```
before starting docker-compose.
### Manual testing
Either go to the User-App and mess around with the existing test data or use GraphiQL directly (links are above).