https://github.com/co2-git/maeva-sockets
Web Sockets API to connect any database. Client (web + node) + server
https://github.com/co2-git/maeva-sockets
Last synced: about 1 year ago
JSON representation
Web Sockets API to connect any database. Client (web + node) + server
- Host: GitHub
- URL: https://github.com/co2-git/maeva-sockets
- Owner: co2-git
- Created: 2016-11-14T01:52:55.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-12-23T16:08:34.000Z (over 8 years ago)
- Last Synced: 2025-03-05T14:17:26.870Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 105 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
maeva-sockets
===
Framework to set up a web sockets server that can transport database queries and deliver them to clients.
`maeva-sockets` relies on [maeva](https://github.com/co2-git/maeva).
# Why
Even when you have a database server set up, you need a relay server (HTTP or Web Sockets) so that your client can connect to the database server. `maeva-sockets` gives a framework so you can easily create a server your client can talk to to transport database queries.
# Server
It is easy to set up a server. Let's say you want to set up a server that can transport queries to a MongoDB server:
```javascript
import {Server} from 'maeva-sockets';
import mongodb from 'maeva-mongodb';
const port = 7000;
const mongodbUrl = 'mongodb://@localhost:27019';
const drivers = [
{
name: 'mongodb',
connect: () => mongodb(mongodbUrl),
}
];
// Start server
export default new Server(port, drivers)
.on('error', (error) => {})
.on('listening', (conn) => {
console.log(`listening on port ${conn.port}`);
});
```
# Client
```javascript
import maeva, {Model, type} from 'maeva';
import sockets from 'maeva-sockets';
// Define your maeva model
class User extends Model {
static schema = {email: type(String)};
}
// Connect to sockets server
const serverURL = 'ws://localhost:7000';
maeva.connect(sockets(serverURL));
// Now you can call any queries
User.find().then(users => console.log(users.toJSON()));
```