json-socket-server
Standalone Websocket Server for json-file based data storage.
Use for fake api, testing and mocking applications.
Table of contents
- Install and run
- Connect with Websocket
- Connect and Read data from a collection
- Create a new document
- Update a document
- Delete a document
- Notify from the server
Install and run
Install JSON Server
npm install -g json-socket-server
Create a db.json
file with some data
Start JSON Server
json-socket-server db.json
Now the server is running on ws://localhost:8080
Connect with Websocket
This server only handles the Websocket connections!
Client side:
// Connect to the server.const socketUrl = "ws://localhost:8080";let exampleSocket = socketUrl; // Listen connection events.exampleSocket { console;};exampleSocket { let message = JSON; console;};exampleSocket { console;};
The full native .js example is in the examples/vanilla-js.html file.
Connect and Read data from a collection
If you connect to a collection, the server will notify you when it is changed.
Client side JAVASCRIPT code:
exampleSocket;
When collection data will changes on the server, you will get a message from it
in the onopen
event.
Get one document by id
exampleSocket;
You will get a message with the selected document.
Create a new document
The code below will create a new user on the server,
then the server will save it into the .json file.
exampleSocket;
If you are connected with the specified path,
the server will notify you from updates.
Update a document
The code below will update an existing document by id.
exampleSocket;
If you are connected with the specified path,
the server will notify you from updates.
Delete a document
The code below will delete a document by id.
exampleSocket;
If you are connected with the specified path,
the server will notify you from updates.
Notify from the server
When you send a create|update|delete message to the server,
the server notifies all client for the changes, if they are connected for
the updated collection. The below example shows a typical update message.
type: "update" path: "users" data: id: 2 name: "Paco Rabanne"
Don't forget to connect the collection.