mikenomitch / condorcet

Simple app for alternative voting schemes, written in Elixir and ReasonML

Home Page:https://poller.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Condorcet/Poller.io

This is the code for Poller.io. Poller allows groups to make better decisions using ranked choice voting and alternative election schemes. Results are tallied for Instant Runoff Voting, Borda Counts, the Condorcet Method, and Plurality elections.

The application is written using Elixir and ReasonML. It is hosted on GCP.

For more information on Ranked Choice Voting, check out CGP Grey's video series on the topic.

Dependencies

  • Elixir
  • Postgres
  • Node
  • Bucklescript npm install -g bs-platform
  • Parcel npm install -g parcel-bundler

Running the App (Local)

  • Change to ./api directory

  • Install dependencies with mix deps.get

  • Create and migrate your database with mix ecto.setup

  • Change to ./ui directory

  • bsb -make-world

  • npm install

  • npm run dev

  • npm run js

  • Change to home directory

  • Run ./bin/run.sh

  • Access the app at localhost:4000

Running the App (Docker)

  • Run ./bin/docker_build.sh

  • Run ./bin/docker_run.sh

  • Access the app at localhost:4000

About

Simple app for alternative voting schemes, written in Elixir and ReasonML

https://poller.io


Languages

Language:Elixir 48.6%Language:Reason 33.4%Language:SCSS 9.6%Language:C++ 4.8%Language:HTML 1.9%Language:Dockerfile 0.8%Language:Shell 0.8%Language:JavaScript 0.1%