Skip to content

Built a custom Excalidraw-like collaborative drawing app from scratch, implementing real-time collaboration with HTTP and WebSockets, and using Prisma ORM for efficient backend development.

Notifications You must be signed in to change notification settings

Rohs21/Draw-app

Repository files navigation

image

🎨 SyncSketch: Real-Time Collaborative Drawing App

Welcome to SyncSketch – the next-generation collaborative whiteboard and sketching platform! Effortlessly brainstorm, wireframe, and create with your team in real time. Save your work to the cloud, invite collaborators instantly, and enjoy a seamless, blazing-fast drawing experience.

🚀 Why SyncSketch?

  • Real-Time Collaboration: Draw together with your team, see live cursors, and sync changes instantly.
  • Cloud Storage: Save and access your sketches from anywhere, anytime.
  • No Sign-Up Required for Guests: Share a link and start collaborating in seconds.
  • Smart Shapes & Tools: Sketch rough shapes and watch them transform into perfect geometry.
  • Flexible Export: Download your work as PNG, SVG, or JSON.
  • Cross-Platform: Works beautifully on desktop, tablet, and mobile.
  • Open Source: Support and contribute to a growing creative community.

🛠️ Getting Started

Follow these steps to set up SyncSketch locally:

1. Clone the Repository

git clone https://github.com/Rohs21/Draw-app.git
cd Draw-app

2. Install Dependencies

We use pnpm for fast, efficient monorepo management:

pnpm install

3. Set Up the Database (Optional)

If you want to enable cloud saving and authentication features, set up the database:

cd packages/db
pnpm prisma migrate dev

4. Start the Development Servers

Start all apps (frontend, backend, websocket, etc.) with Turbo:

pnpm run dev

Or start individual apps:

cd apps/excalidraw-frontend
pnpm run dev

5. Open in Your Browser

Visit http://localhost:3000 to start drawing!


📁 Monorepo Structure

  • apps/ – Frontend, backend, and websocket services
  • packages/ – Shared code, types, and database
  • ui/ – Reusable UI components
  • common/ – Shared types and utilities

✨ Features

  • Real-time collaborative canvas
  • Guest access with no sign-up
  • Smart shape recognition
  • Export to PNG, SVG, JSON
  • Cloud storage & authentication
  • Responsive, modern UI
  • Open source & community-driven

🤝 Contributing

We welcome contributions! Please open issues or pull requests for features, bug fixes, or suggestions.


About

Built a custom Excalidraw-like collaborative drawing app from scratch, implementing real-time collaboration with HTTP and WebSockets, and using Prisma ORM for efficient backend development.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published