April 10, 2019

345 words 2 mins read

bluzi/jsonstore

bluzi/jsonstore

:rocket: jsonstore offers a free and secured JSON-based cloud datastore for small projects

repo name bluzi/jsonstore
repo link https://github.com/bluzi/jsonstore
homepage https://www.jsonstore.io/
language JavaScript
size (curr.) 234 kB
stars (curr.) 2046
created 2018-03-29
license MIT License

jsonstore.io

jsonstore.io offers a free, secured and JSON based cloud datastore for small projects. Just enter https://www.jsonstore.io/, copy the URL and start sending HTTP requests to communicate with your datastore. POST requests will save data, PUT requests modify data, DELETE requests delete data and GET requests retrieves data.

Examples

Make sure to replace the URL in the examples to your own endpoint, that can be found at https://www.jsonstore.io/.

CURL

POST

The following command will create a user in /users/1:

curl -XPOST -H "Content-type: application/json" -d '{
  "name": "jon.snow",
  "age": 31
}' 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1'

GET

The following command will retrieve the user we created earlier:

curl -XGET 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1'
Querying and Sorting

To query the data, use the query parameters orderKey, filterValue and valueType

  • orderKey: name of the key in child. For example, to order by age use,
curl -XGET 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users?orderKey=age'

if orderKey in not present in child, that child will come in order before children with orderKey

  • filterValue: value of key (given using orderKey), to filter the children by. For example, to get the users with age=20
curl -XGET 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users?orderKey=age&filterValue=20'

filterValue should be used in conjugation with orderBy.

  • valueType: enforcing type of filterValue. Type of filterValue is guessed by jsonstore. If you want to enforce a type, send string, number or boolean as valueType. For eg,
curl -XGET 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users?orderKey=age&filterValue=20&valueType=number'

PUT

The following command will change the age of the user to 32:

curl -XPUT -H "Content-type: application/json" -d '32' 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1/age'

DELETE

The following command will delete the user:

curl -XDELETE 'https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1'

JavaScript

POST

fetch('https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1', {
  headers: {
    'Content-type': 'application/json'
  },
  method: 'POST',
  body: { name: 'jon snow', age: 31 },
});

GET

const user = await fetch('https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1')
  .then(function(response) {
    return response.json();
  })

PUT

fetch('https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1/age', {
  headers: {
    'Content-type': 'application/json'
  },
  method: 'PUT',
  body: 32,
});

DELETE

fetch('https://www.jsonstore.io/cf024bb815a93131ce9fed91b1f9dafa43a3c557e9be66e66fd76df5c64f10fe/users/1', {
  method: 'DELETE',
});

Contribution

Any type of feedback, pull request or issue is welcome.

comments powered by Disqus