Note: Abacus was designed as a direct replacement/upgrade for CountAPI as it got taken down
In order to get started, please visit the docs at https://abacus.jsn.cam
-
Install Golang & Redis
-
Run
go mod installto install the dependencies -
Add a
.envfile to the root of the project (or set the environment variables manually) following the format specified in .env.example -
Run
air(if installed) orgo run .to build and run the API locally. -
The API will be running on
http://0.0.0.0:8080by default.
- Documentation (https://abacus.jsn.cam)
-
K8 Deployment(fly.io + Redis on OCI) - JSONP Support (https://gin-gonic.com/docs/examples/jsonp/)
- impl /create endpoint which creates a new counter initialized to 0 and returns a secret key that can be used to modify the counter via the following endpoints
- /delete endpoint
- /set endpoint
- /reset (alias to /set 0)
- /update endpoint (updates the counter x)
- SSE Stream for the counters? Low priority.
- Tests
- Rate limiting (max 30 requests per 10 second per IP address)
- Create Python, JS Wrappers & Go client libraries