Conduct anonymous polls in realtime!
- Node > 6.0.0
- Redis (session persistence)
Voting's anonymous, but we need to prevent double-votes, so we require users to login with Google Oauth2. Auth is done with Passport so you could easily switch Google for another strategy, but if you want to stick with it, you'll need to Configure a Google app for OAuth.
The app uses Sequelize as an ORM, and by default uses sqlite and stores the db in voter.sqlite
in the root folder. It's pretty easy to switch it out for mySQL or PostgreSQL.
Clone the repo, install and go.
npm install
cp config.js.example config.js
# make your changes to config.js
npm run start
The npm sqlite3
package seems to randomly break and I have NFI why. Occasionally you can fix it by running npm rebuild
. If anybody knows why I'd love to hear it.