https://github.com/devadarshh/collabydraw
A real-time collaborative whiteboard for sketching diagrams and wireframes with a hand-drawn feel, perfect for teamwork and remote brainstorming.
https://github.com/devadarshh/collabydraw
canvas collabydraw colloboration drawing excalidraw express jwt monorepo nextjs postgresql prisma-orm productivity shadcn-ui tailwindcss turborepo websocket-server whiteboard zustand
Last synced: 3 months ago
JSON representation
A real-time collaborative whiteboard for sketching diagrams and wireframes with a hand-drawn feel, perfect for teamwork and remote brainstorming.
- Host: GitHub
- URL: https://github.com/devadarshh/collabydraw
- Owner: devadarshh
- License: other
- Created: 2025-09-08T05:49:54.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-24T07:21:05.000Z (9 months ago)
- Last Synced: 2025-10-07T04:00:58.549Z (9 months ago)
- Topics: canvas, collabydraw, colloboration, drawing, excalidraw, express, jwt, monorepo, nextjs, postgresql, prisma-orm, productivity, shadcn-ui, tailwindcss, turborepo, websocket-server, whiteboard, zustand
- Language: TypeScript
- Homepage: https://collabydraw-web.vercel.app
- Size: 4.66 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# βοΈ Collabydraw β Real-Time Collaborative Whiteboard
Collabydraw is a modern **real-time collaborative whiteboard** designed for **teamwork, brainstorming, and diagram sketching**. With a **hand-drawn feel** powered by Fabric.js, itβs perfect for remote teams to visualize ideas together.
**π Live Demo:** [Access Collabydraw](https://collabydraw-web.vercel.app/)
## β
Core Features
- π¨ **Whiteboard Drawing Tools** β Freehand sketching, shapes, and annotations with Fabric.js.
- π€ **Real-Time Collaboration** β Multiple users drawing together via WebSockets.
- π‘ **Live Sync** β Instant updates for all participants in a shared room.
- π‘ **Secure Rooms** β JWT authentication for protected collaboration spaces.
- π **Turborepo Monorepo Setup** β Unified frontend & backend workflow.
- πΌ **Wireframing & Diagrams** β Perfect for brainstorming sessions and design planning.
- β‘ **Fast & Lightweight** β Optimized with Zustand for state management.
- πΎ **Local Storage Support** β Auto-save whiteboard data in browser storage.
---
## π Tech Stack
### **Client (Frontend)**
- βοΈ **Next.js** β React-based framework for server-side rendering and dynamic client-side interactivity
- π **Fabric.js** β Canvas rendering & drawing utilities
- π¨ **TailwindCSS, Lucide Icons, Shadcn UI, Animate.css**
- π **React Hook Form & Yup** β Form handling and validation
- π **Zustand** β Efficient state management
- π **Axios** β API requests and data fetching
- π **Sonner & Tailwind Merge** β Notifications and utility helpers
### **Server (Backend)**
- β‘ **Express.js** β Lightweight and flexible Node.js backend framework
- π **ws (WebSockets)** β Real-time communication layer
- π **PostgreSQL + Prisma ORM** β Relational database with schema management
- π‘ **Zod, Body-Parser, CORS** β Request validation, parsing, and security
- π± **Dotenv** β Environment variable management
### **π¦ Monorepo**
- Frontend (`web`) and Backend (`api`) are managed in a single monorepo with **shared configurations, consistent types, streamlined development workflow, Express-powered API, and WebSocket support for real-time communication**
## Environment Variables
To run this project, you will need to set the following environment variables in your `.env` file:
- `DATABASE_URL`
- `DIRECT_URL`
- `PORT`
- `JWT_SECRET`
- `NEXT_PUBLIC_API_URL`
- `NEXT_PUBLIC_WS_URL`
## π Installation & Running Locally
Follow these steps to set up and run **Collabydraw**:
```bash
# Clone the repository
git clone https://github.com/devadarshh/collabydraw.git
cd collabydraw
# Install dependencies
pnpm install
# Run both frontend & backend with Turborepo
pnpm dev
```
--
## πΈ Screenshots
### Landing Page

### Sign In Page

### Canvas

### Shapes Page

### Settings Page

### Dark Mode Page

## π License
This project is licensed under a **Custom Personal Use License** β you may view and learn from the code, but **commercial use, redistribution, or claiming authorship is strictly prohibited**.
See the full [LICENSE](./LICENSE) for details.