A high-performance, scalable polling system built with Go. Designed for flexibility, it runs seamlessly in on-premise Docker environments and scales effortlessly for cloud deployments.
Its purpose is to provide a WEB REST API for creating and listing polls, and also enable users to vote on their options. It currently provides unauthenticated voting with IP restriction.
This project provides pre-built Docker images and a docker-compose setup for easy on-premise deployment. The REST API images are published at dockerhub.
We offer a managed cloud environment for users who prefer a hosted solution. Visit the client environment at poll.vncsmyrnk.dev to see the pratical use of the REST WEB API.
The cloud environment levarages GCP, Cloud Run and Supabase.
To run this project locally, check the justfile.
We use testcontainers-go for robust integration testing.
go test ./test/integration/... -v