sherrbss / pluv

Multi-platform, type-safe realtime packages

Home Page:https://pluv.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disclaimer: This package is currently in preview and may have breaking changes between versions. Please wait for a v1.0.0 stable release before using this in production.


Pluv.IO
Pluv.IO (preview)

Multi-platform, E2E type-safe realtime packages

πŸ’• Inspired by trpc πŸ’• Built with yjs πŸ’•

npm @pluv/io GitHub Commitizen friendly

TypeScript Featured on Openbase

Intro β€’ Usage β€’ Related β€’ Credits β€’ License

Demo

Intro

Pluv.IO allows you to build real-time collaborative features with a fully end-to-end type-safe api.

πŸ‘‰ See full documentation on pluv.io. πŸ‘ˆ

Why?

So you can do this:

const broadcast = usePluvBroadcast();

usePluvEvent("RECEIVE_MESSAGE", ({ data }) => {
  setMessages([...messages, data.message]);
});

broadcast("SEND_MESSAGE", { message: "Hello world!" });

And more. With E2E type-safety, great intellisense and the yjs ecosystem.

Features

  • βœ… Automatic type safety
  • βœ… Basic events
  • βœ… Rooms
  • βœ… Authentication
  • βœ… Awareness + Presence
  • βœ… CRDTs (with Yjs)
  • ⬜ Studio (admin & developer panel)

Runtimes

Frontends

Usage

Before diving into documentation, check out usage instructions for your selected platform:

Note: @pluv/io, @pluv/client, @pluv/crdt-yjs and @pluv/react all require yjs as a peer dependency.

Documentation

Documentation is available at pluv.io.

Related

Credits

This software uses the following open source tooling and libraries:

License

MIT

About

Multi-platform, type-safe realtime packages

https://pluv.io

License:MIT License


Languages

Language:TypeScript 87.5%Language:MDX 10.8%Language:JavaScript 1.7%Language:HTML 0.0%Language:CSS 0.0%