Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felipeleivav/yboard
Yboard is a multiplayer desktop-like workspace based on Yjs
https://github.com/felipeleivav/yboard
multiplayer realtime workspace yjs
Last synced: 2 months ago
JSON representation
Yboard is a multiplayer desktop-like workspace based on Yjs
- Host: GitHub
- URL: https://github.com/felipeleivav/yboard
- Owner: felipeleivav
- License: mit
- Created: 2022-04-21T04:19:10.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-15T22:31:38.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T03:11:45.745Z (9 months ago)
- Topics: multiplayer, realtime, workspace, yjs
- Language: Vue
- Homepage: https://yboard.lol
- Size: 1.71 MB
- Stars: 347
- Watchers: 8
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Yboard
Yboard is a multiplayer desktop-like workspace.
It's based on the awesome CRDT implementation [Yjs](https://github.com/yjs/yjs) (hence the Y).
Yboard's intention is to explore how we interact with applications when (most of) the controls reflect a shared state among multiple peers.
[Try online demo.](https://yboard.lol)
![gif demo](https://i.imgur.com/RIkEKWi.gif)
## ⚙️ How it works
Yboard is a frontend-only project. Only requisite is a [websocket server](https://github.com/yjs/y-websocket).
This means a couple of things:
- Yboard directly connects to websocket server
- There is no authentication mechanisms nor additional backend logic implemented
- All the rooms are publicly accessible (only protected by a random unique id, thanks [nanoid](https://github.com/ai/nanoid))
- Since a room is basically a [shared document](https://docs.yjs.dev/api/y.doc), any user could eventually rewrite the whole document by writing their own client applicationSo please don't use YBoard for highly sensitive data or production environments.
This is experimental software, use it for fun and collaboration with your friends.
## 🎁 What's inside?
Yboard consists of a set of minimalist applications where multiple users can interact in real time:
- **TODO** - task manager
- **NOTES** - notes manager
- **KANBAN** - very simple kanban
- **LINKS** - bookmark manager
- **CHAT** - talk & alert users
- **TIMER** - synchronized timer
- **SPOTIFY** - embedded spotify player w/ synchronized playlists
- **DRAW** - a drawable whiteboard## 🖥 Set up local environment
```sh
# clone & setup project
git clone [email protected]:felipeleivav/yboard.git
cd yboard
npm install# run project
npm run serve# execute yjs websocket server
./run-yws.sh
```## 📝 How to write an app
WIP :)