https://github.com/nesvet/insite
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
https://github.com/nesvet/insite
framework fullstack mongodb rbac realtime typescript websocket
Last synced: about 20 hours ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/nesvet/insite
- Owner: nesvet
- License: mit
- Created: 2026-02-14T10:00:17.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-03-15T13:52:50.000Z (18 days ago)
- Last Synced: 2026-03-16T10:22:18.898Z (17 days ago)
- Topics: framework, fullstack, mongodb, rbac, realtime, typescript, websocket
- Language: TypeScript
- Homepage:
- Size: 2.53 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# inSite
[](https://github.com/nesvet/insite/actions/workflows/ci.yaml)
[](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`](packages/server/README.md)), single client entry point ([`insite-client`](packages/client/README.md)). TypeScript/Bun monorepo with React components available.
## Quick Start
**Server**
```ts
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**
```ts
import { InSite } from "insite-client";
const inSite = await InSite.init({
ws: { url: "wss://your-server.example.com" }
}, true);
```
## Packages
| Group | Packages |
|-------|----------|
| Server | [insite-server](packages/server/README.md) |
| Client | [insite-client](packages/client/README.md), [insite-client-react](packages/client-react/README.md) |
| Transport | [insite-ws](packages/ws/README.md), [insite-http](packages/http/README.md), [insite-ws-transfers](packages/ws-transfers/README.md) |
| Data | [insite-db](packages/db/README.md), [insite-config](packages/config/README.md) |
| Users | [insite-users-server](packages/users-server/README.md), [insite-users-server-ws](packages/users-server-ws/README.md), [insite-users-client](packages/users-client/README.md) |
| Subscriptions | [insite-subscriptions-server](packages/subscriptions-server/README.md), [insite-subscriptions-client](packages/subscriptions-client/README.md), [insite-subscriptions-react](packages/subscriptions-react/README.md) |
| Shared | [insite-common](packages/common/README.md), [insite-cookie](packages/cookie/README.md) |
Entry points: [insite-server](packages/server/README.md) for backend, [insite-client](packages/client/README.md) for frontend.
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md).
## License
MIT