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.
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);| 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.
See CONTRIBUTING.md.
MIT