Skip to content

Free, open source library to build real-time collaboration applications like whiteboards, diagram editors, etc. on HTML5 Canvas with your own UI

License

Notifications You must be signed in to change notification settings

InditexTech/weavejs

Contributors Forks Stargazers Issues project_license


Weave.js logo

Weave.js

Free, open source library to build real-time collaboration applications like whiteboards,
diagram editors, etc. on HTML5 Canvas with your own UI!
Explore the docs »

View Demo · Report Bug · Request Feature

About The Project

weavejs-demo.mp4

Weave.js is a powerful headless framework for building end-to-end collaborative whiteboard applications. Aimed at developers, it provides all the building blocks to develop visual collaborative canvas applications, while handling user interactions to enable real-time collaboration among multiple users.

It provides robust synchronization of a shared-state based on Yjs and SyncedStore as well as an extensible API to streamline the development of interactive, collaborative applications. Rendering is handled using Konva.js and a custom React Reconciler.

Related repos

Prerequisites

  • Node.js: 18.18.0 or later.
  • Package Manager: pnpm is used in the examples below. npm or yarn can also be used.
  • React: 18.2.0 (or <19.0.0) is required as a peer dependency.

For a complete understanding of the requirements and detailed setup instructions, please visit the official documentation.

Quickstart

Here’s how to quickly get a sample Weave.js project up and running using pnpm. You will be prompted to enter project names.

1. Set up the Backend

In your terminal:

pnpm create weave-backend-app
cd [my-service]
pnpm run dev

The backend server will start (at http://localhost:8080).

2. Set up the Frontend

In a new terminal (ensure you are in the same parent directory as your backend project):

pnpm create weave-frontend-app
cd [my-app]
pnpm run dev

The frontend application will start at http://localhost:3030. Open your browser to this URL to try out the sample application.

This basic setup uses an Express.js backend with a WebSockets store. For further details, alternative stores, or troubleshooting, please consult the full quickstart guide.

Documentation

To unlock the full potential of Weave.js, we recommend exploring our official documentation:

Roadmap

The following table provides a high-level overview of our approximate roadmap. For detailed information on planned features and the most current timeline, please consult the official Weave.js roadmap.

Quarter Focus Area
Q3 2025 Mobile gesture support improvements, Smart Guides Plugin
Q4 2025 Connector Tool, Sticky Notes Tool
Q1 2026 Awareness enhancement, Comment plugin, Minimap Plugin
Q2 2026 Other cloud providers stores
Q3 2026 Koa server, Fastify server, NestJS server
Q4 2026 Bindings kit for Vue, Bindings for Svelte

Contributing

We welcome contributions from the community! Whether you're fixing a bug, adding a new feature, or improving documentation, your help is valuable.

Before you start, please take a moment to read our Contributing Guide. It provides detailed instructions on how to get your contributions accepted. Please note that you'll need to sign our Contributor License Agreement (CLA) before we can accept your pull request.

Here's a quick overview of how you can contribute:

  1. Discuss: Open an issue to discuss the changes you'd like to make.
  2. Fork & Branch: Fork the repository and create a new branch for your work.
  3. Develop: Make your changes, following the project's coding style. Our CONTRIBUTING.md has detailed instructions on setting up your development environment.
  4. Pull Request: Open a pull request and link it to the issue you created.

We look forward to your contributions!

License

This project is licensed under the terms of the Apache-2.0 license.

© 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)

(back to top)

About

Free, open source library to build real-time collaboration applications like whiteboards, diagram editors, etc. on HTML5 Canvas with your own UI

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 6

Languages