All Projects → DavidMoritz → Rcv

DavidMoritz / Rcv

Licence: mit
Ranked Choice Voting app for free use.

Labels

Projects that are alternatives of or similar to Rcv

Maya
Maye 一个简洁小巧的快速启动工具
Stars: ✭ 553 (+1948.15%)
Mutual labels:  less
Manhuaren
vue2.0全家桶,仿漫画人官网(移动端)
Stars: ✭ 18 (-33.33%)
Mutual labels:  less
Metro Ui Css
Impressive component library for expressive web development! Build responsive projects on the web with the first front-end component library in Metro Style. And now there are even more opportunities every day!
Stars: ✭ 6,843 (+25244.44%)
Mutual labels:  less
Wenk
😉 Lightweight pure CSS tooltip for the greater good
Stars: ✭ 694 (+2470.37%)
Mutual labels:  less
Html boilerplate
Ceicom Boilerplate
Stars: ✭ 6 (-77.78%)
Mutual labels:  less
Flow theme
OXID Flow Responsive Theme
Stars: ✭ 24 (-11.11%)
Mutual labels:  less
Balloon.css
Simple tooltips made of pure CSS
Stars: ✭ 4,851 (+17866.67%)
Mutual labels:  less
Fork Awesome
A fork of the iconic font and CSS toolkit
Stars: ✭ 878 (+3151.85%)
Mutual labels:  less
React Latest Framework
a client framework of React
Stars: ✭ 835 (+2992.59%)
Mutual labels:  less
Less Loader
Compiles Less to CSS
Stars: ✭ 851 (+3051.85%)
Mutual labels:  less
Weui
A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.
Stars: ✭ 26,030 (+96307.41%)
Mutual labels:  less
Pa11y Dashboard
Pa11y Dashboard is a web interface which helps you monitor the accessibility of your websites
Stars: ✭ 787 (+2814.81%)
Mutual labels:  less
Vue3 H5 Template
🎉基于Vue3+TypeScript+ Vue-Cli4.0 + vant ui + sass+ rem 适配方案+axios 封装 + jssdk配置 + vconsole移动端调试,构建手机端模板脚手架
Stars: ✭ 26 (-3.7%)
Mutual labels:  less
Homebrewery
Create authentic looking D&D homebrews using only markdown
Stars: ✭ 598 (+2114.81%)
Mutual labels:  less
Seti Ui
A subtle dark colored UI theme for Atom.
Stars: ✭ 856 (+3070.37%)
Mutual labels:  less
Tt Rss Feedly Theme
Feedly theme for Tiny Tiny RSS
Stars: ✭ 540 (+1900%)
Mutual labels:  less
New Moon
🌙 ‎ The optimized dark theme for web development.
Stars: ✭ 918 (+3300%)
Mutual labels:  less
Three Dots
🔮 CSS loading animations made by single element.
Stars: ✭ 912 (+3277.78%)
Mutual labels:  less
Feather Flex
Ultralight flexbox based grid system.
Stars: ✭ 11 (-59.26%)
Mutual labels:  less
Gridea Theme Simple
一个漂亮的 Gridea 主题 Simple
Stars: ✭ 26 (-3.7%)
Mutual labels:  less

RCV - Ranked Choice Voting

RankedChoices.com

This Ranked Choice Voting app is free to use, free to improve, and free to share with the general public!

Here are a few advantages to RCV:

  • Better representation
  • No “Settling”
  • No wasted votes
  • Vote by preference
  • Great for multi-seat elections
  • Easy to use

For a short, 1-minute explaination of RCV; check out this video: https://youtu.be/oHRPMJmzBBw

RCV video

Ranked Choice voting is about representing the people in the best way possible. The key is allowing the voter to choose more than just their favorite candidate. The problem with only voting for one choice, is that if that choice does not come in first or second, it could be considered a “wasted vote.” Therefore, people are more likely to vote for their second or third choice on the idea that it has a higher chance of winning and it’s better than their last choice.

With Ranked Choice Voting, there is no issue with voting for your first choice first, second choice second, and third choice third. Because if your first choice doesn’t win, then your vote automatically gets transferred to your second choice! And that is the beauty of the system.

Another thing it works really well for voting for more than one position. Everyone’s vote is still counted as one vote, but if their first choice is elected, then a portion of their vote goes to second place. To better illustrate this point, there is a video that describes the use of ranked choice voting in the Animal Kingdom:

Click here to watch https://youtu.be/l8XOZJkozfI

STV animal video

Consuming

This project is designed to create the files necessary to run the site from a PHP server with MySQL database (e.g. LAMP). The database can be externally located without any issue. Make sure you specify the location of the database in the src/api/config.php file.

The project uses Nodejs and Grunt to build a dist/ folder whose contents will be copied into the root http folder of the server. If you don't have PHP or MySQL installed, please review https://github.com/DavidMoritz/rcv/blob/master/UBUNTU.md.

The following steps assume that you have PHP, MySQL, Nodejs and Grunt-cli installed and cwd is the project root:

  1. run npm install
  2. create "src/api/config.php" from "src/api/config_sample.php"
  3. input your credentials to the MySQL database in "src/api/config.php"
  4. use "Schema.sql" to build the MySQL database
  5. run grunt (if you don't have MySQL installed, run grunt nomysql)
  6. run cd dist/
  7. run php -S localhost:1337
  8. go to "localhost:1337" in your browser

Let me know if you have any issues!

Docker Compose Consumption

The provided docker file is meant for development / getting up and running quickly.

  1. create "src/api/config.php" from "src/api/config_sample.php" (make sure the MySQL location is "db" instead of "localhost")
  2. Install docker and docker-compose; Follow these instructions per your OS
  3. If you have docker compose installed cd to the project root and run docker-compose up
  4. go to "localhost:1337" in your browser
  5. profit

Contributing

If you are interested in joining the cause and contributing, I am very appreciative! One area that I would like focused efforts on is the ability for someone to register and manage their different ballots. There was work toward this efforts, but not finished. Please contact me before putting in significant effort to avoid duplicate work. Thanks!

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].