Live: which.jwlarocque.com
A simple voting/polling web app, with support for instant runoff as well as approval and plurality voting. Svelte frontend, Go backend, PostgreSQL database.
Current code quality: gradually improving
git
, npm
, go
, and postgresql
go get github.com/jackc/pgx github.com/jmoiron/sqlx golang.org/x/oauth2 cloud.google.com/go/compute/metadata
git clone https://github.com/jwlarocque/which.git
cd which
npm run build
schema.sql
(you might want to change the owner username)start.sh.sample
with the appropriate paths and variables and rename it start.sh
.chmod u+x start.sh
go build -o which_server server/main.go
which_server
permission to bind reserved ports:
sudo setcap 'cap_net_bind_service=+ep' which_server
Run as daemon:
which_server.service.sample
with the appropriate paths and rename it which_server.service
sudo cp which_server.service /etc/systemd/system
sudo
) systemctl start which_server.service
Or just run (sudo
) ./start.sh
In Progress
Planned
Potential
Skarlso, Google sign-in Part 1
Skarlso, Part 2
Alex Pliutau, stdlib OAuth2
Jon Calhoun, Securing cookies in Go