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.jasoncameron.dev
-
Install Golang & Redis
-
Run
go mod install
to install the dependencies -
Add a
.env
file to the root of the project (or set the environment variables manually) following the format specified in .env.example -
Run
air
(if installed) orgo build
to build and run the API locally. -
The API will be running on
http://0.0.0.0:8080
by default.
- Documentation (https://abacus.jasoncameron.dev)
-
K8 Deployment(Render + 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 3 second per IP address)
- Create Python, JS Wrappers & Go client libraries