Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tm9657/y-phoenix
The Phoenix Channels Provider is meant to be used as a Yjs Provider for [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms). It enables End-to-End encryption, realtime communication between multiple users.
https://github.com/tm9657/y-phoenix
phoenix phoenix-channels yjs yjs-provider
Last synced: about 2 months ago
JSON representation
The Phoenix Channels Provider is meant to be used as a Yjs Provider for [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms). It enables End-to-End encryption, realtime communication between multiple users.
- Host: GitHub
- URL: https://github.com/tm9657/y-phoenix
- Owner: TM9657
- License: other
- Created: 2023-10-10T20:09:09.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-15T08:53:11.000Z (about 1 year ago)
- Last Synced: 2024-04-15T02:56:35.484Z (9 months ago)
- Topics: phoenix, phoenix-channels, yjs, yjs-provider
- Language: TypeScript
- Homepage: https://tm9657.de
- Size: 133 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Y-Phoenix Provider
> Phoenix Channels Provider for YjsThe Phoenix Channels Provider is meant to be used as a Yjs Provider for [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms). It enables End-to-End encryption, realtime communication between multiple users.
## Quick Start
### Install dependencies
```sh
npm i @tm9657/y-phoenix
```### Start a y-phoenix server
Please use: [Generic Socket Rooms](https://github.com/TM9657/generic-socket-rooms)
### Client Code:
```js
import * as Y from 'yjs'
import { PhoenixProvider } from '@tm9657/y-phoenix'const doc = new Y.Doc()
const wsProvider = new PhoenixProvider(
socket, // Socket from Generic Socket Rooms
props.room, // Room, please make sure this one is not guessable. Otherwise DDOS attacks on this room are possible, if you do not further prevent them, e.g by checking permission on the server before sending JWT
props.token, // JWT Token, signed for the room, please have a look at Generic Socket Rooms for more information
props.password, // Password for End to End encryption. E.g generated on the client and shared by QR Code or as part of the URL
ydoc // Yjs Document
)
```---
**Provided by TM9657 GmbH with ❤️**
### Check out some of our products:
- [Kwirk.io](https://kwirk.io?ref=github) (Text Editor with AI integration, privacy focus and offline support)