go1dfish f2bd1c91e8 v0.88.0 5 years ago
..
.circleci f662df44e3 Initial commit 5 years ago
.github f662df44e3 Initial commit 5 years ago
.vscode f662df44e3 Initial commit 5 years ago
src 67e5403d26 Separate combined tabulator/indexer with improved performance 5 years ago
.editorconfig f662df44e3 Initial commit 5 years ago
.env f662df44e3 Initial commit 5 years ago
.gitignore e631a7db4e Support http put rate limiting and per-identity bypass 5 years ago
.npmignore f662df44e3 Initial commit 5 years ago
.prettierignore f662df44e3 Initial commit 5 years ago
LICENSE f662df44e3 Initial commit 5 years ago
README.md 3f25cb3fe4 Everything in chaingun or notabug monorepos now, add docs 5 years ago
data f662df44e3 Initial commit 5 years ago
htdocs f662df44e3 Initial commit 5 years ago
nab-server.pm2.json 3f25cb3fe4 Everything in chaingun or notabug monorepos now, add docs 5 years ago
package.json f2bd1c91e8 v0.88.0 5 years ago
peers.yaml f662df44e3 Initial commit 5 years ago
tsconfig.json f662df44e3 Initial commit 5 years ago
tsconfig.module.json f662df44e3 Initial commit 5 years ago
tslint.json f662df44e3 Initial commit 5 years ago

README.md

@notabug/nab-server

notabug.io socketcluster server

Notabug Backend Architechture Components

Socket Cluster

https://socketcluster.io

The SocketCluster frontend is the main user facing access point for notabug.

It manages HTTP responses and WebSocket connections that data transfers over.

Connections to SocketCluster can be authenticated (separate from UI facing login)

Authenticated logins may be granted additional privileges, such as the ability to subscribe to or publish to channels.

Currently SocketCluster serves the application JS as static files

SocketCluster Channels

  • gun/put
    • This is where raw unvalidated put data is published by clients
    • Non-admin clients may not read this channel
    • Anyone may put to this channel
  • gun/nodes/:soul
    • Channels exist for every gunDB soul
    • All clients may subscribe to these channels
    • Only admin clients may publish to these channels
    • The initial state of the node is sent when subscribing to these channels
  • gun/@:msgId
    • These are for individual get/put request acknowledgments
    • All clients may subscribe to these channels
    • Only admin clients may publish to these channels