Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ueberdosis/hocuspocus

The CRDT Yjs WebSocket backend for conflict-free real-time collaboration in your app.
https://github.com/ueberdosis/hocuspocus

collaborative-editing crdt prosemirror real-time self-hosted slatejs tiptap yjs

Last synced: 2 days ago
JSON representation

The CRDT Yjs WebSocket backend for conflict-free real-time collaboration in your app.

Awesome Lists containing this project

README

        

# Hocuspocus
A plug & play collaboration backend based on [Y.js](https://github.com/yjs/yjs).

[![Build Status](https://github.com/ueberdosis/hocuspocus/workflows/build/badge.svg)](https://github.com/ueberdosis/hocuspocus/actions)
[![Version](https://img.shields.io/npm/v/@hocuspocus/server.svg?label=version)](https://www.npmjs.com/package/@hocuspocus/server)
[![Downloads](https://img.shields.io/npm/dm/@hocuspocus/server.svg)](https://npmcharts.com/compare/@hocuspocus/server?minimal=true)
[![License](https://img.shields.io/npm/l/@hocuspocus/server.svg)](https://www.npmjs.com/package/@hocuspocus/server)
[![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true)](https://discord.gg/WtJ49jGshW)
[![Sponsor](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub)](https://github.com/sponsors/ueberdosis)

## Documentation
The full documentation is a available on [hocuspocus.dev/introduction](https://tiptap.dev/docs/hocuspocus/introduction).

## Cloud Hosting

You want to use Hocuspocus, but don't want to care about hosting? Check our [Cloud Offering: Tiptap Collab](https://tiptap.dev/collab)

## Feedback
Send all your questions, feedback and bug reports to [[email protected]](mailto:[email protected]) or [create an issue](https://github.com/ueberdosis/hocuspocus/issues/new/choose) here.

## Usage
The following example is a example setup you need to start a WebSocket server. By default, it’s listening on [http://127.0.0.1](http://127.0.0.1) (or prefixed with the WebSocket protocol on ws://127.0.0.1):

```js
import { Server } from '@hocuspocus/server'
import { SQLite } from '@hocuspocus/extension-sqlite'

const server = Server.configure({
port: 80,

async onConnect() {
console.log('🔮')
},

extensions: [
new SQLite({
database: 'db.sqlite',
}),
],
})

server.listen()
```

## Community
For help, discussion about best practices, or any other conversation:

[Join the Tiptap Discord Server](https://discord.gg/WtJ49jGshW)

## Sponsors 💖






überdosis






Cargo






Saga






Gamma






Outline






Ahrefs






Brickdoc






Sana








Poggio


… and hundreds of awesome inviduals.

Using Hocuspocus in production? Invest in the future of Hocuspocus and [become a sponsor!](https://github.com/sponsors/ueberdosis)

## Contributing
Please see [CONTRIBUTING](docs/contributing.md) for details.

## Contributors
[kris](https://github.com/kriskbx) (who wrote the initial version), [Tom Moor](https://github.com/tommoor), [YousefED (@TypeCellOS)](https://github.com/YousefED) and [many more](../../contributors).

## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.