Skip to content

nesvet/insite

inSite

CI license

Real-time apps need WebSocket, reactive data, auth, and sometimes file transfers. inSite bundles this: MongoDB Change Streams → pub/sub publications, users/orgs/roles with RBAC, cookie auth over WS, optional file transfers.

Single server entry point (insite-server), single client entry point (insite-client). TypeScript/Bun monorepo with React components available.

Quick Start

Server

import { InSite } from "insite-server";

const inSite = await InSite.init({
	db: { url: "mongodb://127.0.0.1:27017", name: "mydb" },
	port: 3000,
	wss: {},
	users: { abilities: [] },
	http: true,
	cookie: {}
});

Client

import { InSite } from "insite-client";

const inSite = await InSite.init({
	ws: { url: "wss://your-server.example.com" }
}, true);

Packages

Group Packages
Server insite-server
Client insite-client, insite-client-react
Transport insite-ws, insite-http, insite-ws-transfers
Data insite-db, insite-config
Users insite-users-server, insite-users-server-ws, insite-users-client
Subscriptions insite-subscriptions-server, insite-subscriptions-client, insite-subscriptions-react
Shared insite-common, insite-cookie

Entry points: insite-server for backend, insite-client for frontend.

Contributing

See CONTRIBUTING.md.

License

MIT

About

Real-time full-stack framework: WebSocket server/client, MongoDB + Change Streams, pub/sub publications, users/orgs/roles with RBAC, cookie auth over WS, file transfers. TypeScript/Bun monorepo with server orchestrator, client SDK, and React UI components

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors