Skip to content

shrutiiiyet/Excelidraw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖌️ Excelidraw – Real-Time Collaborative Canvas

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.


🔧 Features & Tech Stack

  • 🧠 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

🛠️ Project Status

  • Backend completed with persistent collaboration and room syncing
  • 🔧 Frontend completed
  • 🌐 Live deployment coming soon

📂 Project Structure

  • 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

📌 To Do

  • Real-time collaboration backend
  • Canvas rendering & drawing tools
  • Frontend layout and routing
  • Full containerization and orchestration
  • Deployment with CI/CD (coming soon)

🤝 Contributing

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.

🧭 How to Contribute

  1. Fork the repository
  2. Clone the repository

git clone https://github.com/shrutiiiyet/Excelidraw

  1. Create a branch for your feature or fix

git checkout -b feature/your-feature-name

  1. Commit your changes with clear messages

  2. Push to your forked repository

  3. Submit a Pull Request describing your improvements

💡 You Can Contribute By:

  • 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


📣 Stay Tuned

The complete Excelidraw app will be available online soon.
Feel free to star 🌟 the repo and follow updates!


📜 License

This project is licensed under the MIT License. Feel free to use, modify, and share responsibly.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages