Excelidraw is a real-time collaborative canvas application inspired by Excalidraw. Users can join shared rooms and draw shapes or text together in real time.
- 🧠 Built with a Turborepo monorepo architecture using TypeScript throughout
- 🔌 Real-time collaboration powered by WebSockets
- 🗂️ Room-based multi-user drawing experience using slug-based routing
- 🧱 Backend: Node.js, Express.js, WebSockets, PostgreSQL, Prisma ORM
- 🎨 Frontend: Next.js, React, Zustand, Tailwind CSS
- 🛠️ Database & Schema: PostgreSQL with Prisma migrations
- 🚀 Deployment: Planned via Docker & CI/CD pipeline
- ✅ Backend completed with persistent collaboration and room syncing
- 🔧 Frontend completed
- 🌐 Live deployment coming soon
- excelidraw/
- │
- ├── apps/
- │ ├── excelidraw-backend # Fully working backend API
- │ └── excelidraw-frontend # Frontend (in progress, currently ignored)
- │
- ├── packages/
- │ ├── backend-common # Common files used amongst backaneds
- │ ├── common # Common Schema
- └─── db #Prisma schema and migrations
- Real-time collaboration backend
- Canvas rendering & drawing tools
- Frontend layout and routing
- Full containerization and orchestration
- Deployment with CI/CD (coming soon)
With the frontend now complete, contributions are officially open!
We welcome developers to help refine existing features, improve performance, and expand functionality. Whether you’re fixing a bug, optimizing rendering, or enhancing collaboration tools — your contribution matters.
- Fork the repository
- Clone the repository
git clone https://github.com/shrutiiiyet/Excelidraw
- Create a branch for your feature or fix
git checkout -b feature/your-feature-name
-
Commit your changes with clear messages
-
Push to your forked repository
-
Submit a Pull Request describing your improvements
-
Enhancing performance or state management with Zustand
-
Refining the collaborative drawing logic
-
Improving UI/UX for the canvas tools
-
Writing tests or improving documentation
-
Setting up deployment and CI/CD pipelines
The complete Excelidraw app will be available online soon.
Feel free to star 🌟 the repo and follow updates!
This project is licensed under the MIT License. Feel free to use, modify, and share responsibly.