A self-hosted open polling and voting web application that respects your privacy and anonymity https://pollinator.mills.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
James Mills a8c5d7c53d major_refactor (#18) 2 weeks ago
deploy Add Docker Swarm deployable stack to deploy/ and docker-compose.yml for convenience to devs (#10) 2 weeks ago
docs Add more project docs (#12) 2 weeks ago
public major_refactor (#18) 2 weeks ago
.dockerignore Initial Commit 2 weeks ago
.drone.yml Tidy up front end, add routing, add UUIDs (#14) 2 weeks ago
.gitignore major_refactor (#18) 2 weeks ago
AUTHORS Basic app, no DB (#1) 2 weeks ago
CODE_OF_CONDUCT.md Add more project docs (#12) 2 weeks ago
CONTRIBUTING.md Add more project docs (#12) 2 weeks ago
Dockerfile Fix Dockerfile to include new css and vendor assets (#19) 2 weeks ago
LICENSE Add LICENSE, AUTHORS and Design doc 2 weeks ago
Makefile Refactor some of the cli/flag handling, add version and help text (#17) 2 weeks ago
README.md Add more project docs (#12) 2 weeks ago
api.go major_refactor (#18) 2 weeks ago
api_test.go major_refactor (#18) 2 weeks ago
api_types.go major_refactor (#18) 2 weeks ago
bitcask_store.go major_refactor (#18) 2 weeks ago
config.go major_refactor (#18) 2 weeks ago
docker-compose.yml Add Docker Swarm deployable stack to deploy/ and docker-compose.yml for convenience to devs (#10) 2 weeks ago
go.mod major_refactor (#18) 2 weeks ago
go.sum major_refactor (#18) 2 weeks ago
handlers.go major_refactor (#18) 2 weeks ago
jobs.go major_refactor (#18) 2 weeks ago
main.go major_refactor (#18) 2 weeks ago
memory_store.go major_refactor (#18) 2 weeks ago
models.go major_refactor (#18) 2 weeks ago
options.go major_refactor (#18) 2 weeks ago
router.go major_refactor (#18) 2 weeks ago
server.go major_refactor (#18) 2 weeks ago
store.go major_refactor (#18) 2 weeks ago
utils.go major_refactor (#18) 2 weeks ago
version.go Refactor some of the cli/flag handling, add version and help text (#17) 2 weeks ago

README.md

pollinator - a self-hosted open polling and voting web application that respects your privacy and anonymity

Build Status Go Report Card GoDoc

pollinator is a self-hosted web application that allows users to participcate in open polls in a way that both respects their privacy and anonymity.

Current Features:

  • Single portable binary
  • Simple to setup and maintain
  • A slick SPA frontend
  • Currently supports two types of polls:
    • Open Vote or just vote where users can vote for a single question comment or statement.
    • Open Questions or just questions where users can create questions they'd like to have answered and vote the questions they'd like to see answered the most.

Planned Features:

  • Other poll types?

There is also a publicly (freely) available demo instance available at:

User and additional Developer documentation can also be found at:

NOTE: I, James Mills, run this instance on pretty cheap hardware on a limited budget. Please use it fairly so everyone can enjoy using it equally!

Sponsor this project to support the development of new features, improving existings ones and fix bugs!

Screenshot

Table of Contents

Created by gh-md-toc

Why?

pollinator was written primarily and firstly as en education exercise in building a web application complete with backend, ci/cd, frontend and documentation going from design -> requirements and live in production in a single day.

Secondly pollinator was designed and created out of a desire and need to ba able to openly ask for people's opinions on a particular subject matter, question, comment or statement or be able to allow folks to create a set of questions they'd like to hear the answers to and have those voted on.

There are many such publicly available SaaS / Cloud offerings in the wild such as the popular SurveyMonkey, sl.do and many others.. But unfortuantely most if not all are usually pretty expensive to use even for the most simplest use-cases or have very questionable privacy in the first place and many do not offer any form of anonymity at all.

Getting Started

Install from Releases

You can install pollinator by simply downloading the latest version from the Release page for your platform and placing the binary in your $PATH.

Install from Homebrew

On macOS you can install pollinator using Homebrew:

brew tap prologic/pollinator https://git.mills.io/prologic/homebrew-pollinator.git
brew install pollinator

Install from Source

To install pollinator from source you can run go get directly if you have a Go environment setup:

go get git.mills.io/prologic/pollinator

NOTE: Be sure to have $GOBIN (if not empty) or your $GOPATH/bin in your $PATH. See Compile and install packages and dependencies

Or grab the source code and build:

git clone https://git.mills.io/prologic/pollinator.git
cd pollinator
make build

And optionally run make install to place the binary pollinator in your $GOBIN or $GOPATH/bin (again see note above).

Usage

Start the server

pollinator

You can now open the Web UI by navigating to:

http://127.0.0.1:8080/

Production Deployments

Docker Swarm

You can deploy pollinator to a Docker Swarm cluster by utilising the provided docker-stack.yml Docker Stack. This also depends on and uses the Traefik ingress load balancer so you must also have that configured and running in your cluster appropriately.

export DOMAIN=pollinator.yourdomain.tld
docker stack deploy -c ./deploy/docker-stack.yml pollinator

In the News

Sponsor

Support the ongoing development of pollinator!

Sponsor

Contributing

Interested in contributing to this project? You are welcome! Here are some ways you can contribute:

  • File an Issue -- For a bug, or interesting idea you have for a new feature or just general questions.
  • Submit a Pull-Request or two! We welcome all PR(s) that improve the project!

Please see the Contributing Guidelines.

Contributors

Thank you to all those that have contributed to this project, battle-tested it, used it in their own projects or products, fixed bugs, improved performance and even fix tiny typos in documentation! Thank you and keep contributing!

You can find an AUTHORS file where we keep a list of contributors to the project.

License

pollinator is licensed under the terms of the MIT License