All Projects β†’ Anish-Agnihotri β†’ quadratic-voting

Anish-Agnihotri / quadratic-voting

Licence: AGPL-3.0 license
Real-time Quadratic Voting dashboard to encourage mathematically optimal voting in democratic communities.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to quadratic-voting

Mat-O-Wahl
πŸ‡©πŸ‡ͺ Mat-O-Wahl - Ein einfach zu bedienender, freier Open Source Wahl-O-Mat Klon fuer jedermann ### πŸ‡¬πŸ‡§ πŸ‡ΊπŸ‡Έ A simple to handle, free "Voting Advice Application" / "Electoral Compass" alternative
Stars: ✭ 27 (-63.51%)
Mutual labels:  voting, democracy
Groupthink
A collaborative democratic platform built atop GitHub, designed for open policymaking and manifesto writing.
Stars: ✭ 28 (-62.16%)
Mutual labels:  voting, democracy
voting
A simulator for voting systems.
Stars: ✭ 24 (-67.57%)
Mutual labels:  voting, democracy
Democracy Client
DEMOCRACY App Client
Stars: ✭ 98 (+32.43%)
Mutual labels:  voting, democracy
Paper
On self sovereign human identity.
Stars: ✭ 537 (+625.68%)
Mutual labels:  voting, democracy
Democracyos
Democracia en Red is focusing on specific implementations of DemocracyOS. We are working now working with governments and activists all over Latin America. If you are interested in our online participation tools you can check them out on our site.
Stars: ✭ 1,753 (+2268.92%)
Mutual labels:  voting, democracy
Upvotejs
UpvoteJS generates a voting widget like the one used on Stack Exchange sites
Stars: ✭ 137 (+85.14%)
Mutual labels:  voting
Stacking-Blending-Voting-Ensembles
This repository contains an example of each of the Ensemble Learning methods: Stacking, Blending, and Voting. The examples for Stacking and Blending were made from scratch, the example for Voting was using the scikit-learn utility.
Stars: ✭ 34 (-54.05%)
Mutual labels:  voting
Councilor Voter Guide
ηΈ£εΈ‚ι•· / θ­°ε“‘ ζŠ•η₯¨ζŒ‡ε—
Stars: ✭ 103 (+39.19%)
Mutual labels:  voting
Votr
🌟 A polling application built with Flask and React
Stars: ✭ 100 (+35.14%)
Mutual labels:  voting
openaustralia-parser
Parser component for OpenAustralia.org
Stars: ✭ 28 (-62.16%)
Mutual labels:  democracy
ASV
[CVPR16] Accumulated Stability Voting: A Robust Descriptor from Descriptors of Multiple Scales
Stars: ✭ 26 (-64.86%)
Mutual labels:  voting
Arc
Arc is an operating system for DAOs.
Stars: ✭ 190 (+156.76%)
Mutual labels:  voting
Gh Polls
These polls work by pasting individual markdown SVG images into your issue, each wrapped with a link that tracks a vote. A single vote per IP is allowed for a given poll, which are stored in DynamoDB.
Stars: ✭ 1,726 (+2232.43%)
Mutual labels:  voting
Roadmap
No description or website provided.
Stars: ✭ 51 (-31.08%)
Mutual labels:  voting
Vue Poll
A Vue.js component for voting
Stars: ✭ 115 (+55.41%)
Mutual labels:  voting
Raty
🌟 Raty - A Star Rating Plugin
Stars: ✭ 2,292 (+2997.3%)
Mutual labels:  voting
Gh Polls Bot
Automatically create polls in GitHub issues.
Stars: ✭ 187 (+152.7%)
Mutual labels:  voting
voting-connectors
Connector apps for Aragon Voting
Stars: ✭ 14 (-81.08%)
Mutual labels:  voting
Adapterrequests
This Place is used to track the status of new Adapter-Requests.
Stars: ✭ 151 (+104.05%)
Mutual labels:  voting

Quadratic Voting (live)

Open-source, real-time QV dashboard.

Quadratic Voting is the mathematically optimal way to vote in a democratic community, where votes express the degree of your preferences, not just direction. This calculator is an open-source voting application, with development supported by Gitcoin, and is a counterpart to the Quadratic Funding Calculator.

Architecture

This application is built atop

  1. Front-end: NextJS (React)
  2. Back-end: NodeJS + Express serverless functions deployed on Vercel
  3. Database: PostgreSQL + the Prisma DB toolkit

At a fundamental level, the way in which voting links are generated and sessions are handled is kept simple:

  1. An events table keeps track of open voting events. Each event has a secret_key (uuid) to manage the event.
  2. A voters table keeps track of all voters and their preferences. Each voter has a id (uuid) that together with the event_uuid (uuid) represents their unique voting URL.

Important files:

  1. prisma/schema.sql contains the SQL schema for the application.
  2. pages/api/events/details.js contains the QV calculation logic.

Run locally / redeploy

  1. Setup your PostgreSQL database
# Import schema
pg:psql -f prisma/schema.sql
  1. Setup environment variables. Copy prisma/.env.sample to prisma/.env and replace DATABASE_URL with your PostgreSQL DB url.

  2. Run application

# Install dependencies
yarn

# Run application
yarn dev

License

GNU Affero General Public License v3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].