The low latency database powered by Cloudflare Worker and KV
Features :
- Globally Available
- Lowest Latancy
- Serverless
- Rest API
- Token Based Authenticated Request Support
API :
1. Save a Payload (JSON)
- Request:
Method: POST
Content-Type: application/json
URL (Secured with Token): https://<your-app>.workers.dev/?key=<post-key>
URL (Not Secured): https://<your-app>.workers.dev/
BODY: Json Data (Not Parsed)
- Response:
{
"status": true,
"_id": "16125252787azq",
"query": "https://<your-app>.workers.dev/16125252787azq",
"data": {
"i_am": "writing a readme"
}
}
- Set an ID manually:
Send this π
"_id":"my-unique-id"
with Body
2. Get a saved Data:
- Request:
Method: GET
URL: https://<your-app>.workers.dev/<_id>
- Response:
{
"status": true,
"_id": "16125252787azq",
"data": {
"i_am": "writing a readme"
}
}
3. Delete a Data:
- Request:
Method: DELETE
URL (Secured with Token): https://<your-app>.workers.dev/<_id>?key=<delete-key>
URL (Not Secured): https://<your-app>.workers.dev/<_id>
- Response:
{
"status": true,
"msg": "Deleted Successfully"
}
Deploy :
- Open Cloudflare Worker Page
- Click on KV
- In
Namespace Name
section Type a Name & Click onAdd
, a namespace will created. - Now click on Workers & Create a worker
- Copy the code of
worker.js
, paste into Worker & Click on Save & Deploy - Now go back to worker main page, here you will see that your created worker listed there, click on that.
- Click on
Settings
- In
KV Namespace Bindings
section click onAdd Binding
- Write
TUHIN
in Variable name & select your recently created Namespace for KV namespace. - You just made your Cloudflare DB, Now Read the API Endpoint and use it in your Project
πͺ
Secure with Token :
You can impliment token based authentication system for POST and DELETE requests
- Write your key in
POSTKEY
to secure POST requests with a Token (Line No: 12) - Write your key in
DELETEKEY
to secure DELETE requests with a Token (Line No: 13)
Note for Kangers :
Kanging will not make you a developer. So, don't be a kanger
License & Copyright :
- This Project is Apache-2.0 Licensed
- Copyright 2021 by Tuhin Kanti Pal