A collaborative digital White Board tool built for real-time editing and shared functionality.
Excalidraw Playgrounds repo is a Turborepo(monorepo) that consists of three main applications, along with shared packages used across these applications. It provides a seamless real-time collaborative drawing experience, enabling multiple users to create and edit diagrams simultaneously.
To set up and run the project locally, follow these steps:
-
Clone the repo
$ you know how
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Start the development server:
npm start
The directory structure is organized as follows:
Main Applications
apps/excalidraw-frontend/
- Next.js frontend for the Playgrounds.apps/http-backend
- HTTP server for authentication, user management, room management.apps/ws-backend
- Web Socket Server built to support the real time data transfer.
Common Packages
packages/**
- folder to find all the packages shared by the main applications
- 🎨 Infinite WhiteBoard with Essential Collaborative Tools
- 💬 Real-time collaborative drawing
- 👥 Multi-user support with simultaneous editing
- Turborepo
- Next.js
- Node.js
- Web Sockets
- TypeScript
- Postgres
We welcome contributions! 🚀 If you'd like to contribute to Excalidraw Playgrounds:
- Open an issue to discuss bugs or feature requests.
- Submit a pull request with improvements or fixes.
Happy coding! 🎉