ColabPen is a real-time collaborative drawing application featuring synchronized drawing, user rooms, and a sleek modern interface. Built with a React/Vite frontend and a Node.js/Express backend powered by Socket.io, this application provides a seamless, real-time whiteboarding experience.
This is a monorepo setup containing both the frontend and backend of the application:
/client- The React frontend powered by Vite and TypeScript./server- The Node.js Express backend using Socket.io and Prisma (with Neon PostgreSQL).
- Real-time Collaboration: Draw and erase synchronously with other users using Socket.io.
- Room Management: Join specific rooms to securely collaborate with invited participants.
- Modern UI: Built with Tailwind CSS and Framer Motion for responsive and dynamic visual feedback.
- Persistent Storage: Drawings and session data are stored in a Neon PostgreSQL database via Prisma ORM.
- Node.js (v18 or higher)
- npm or yarn
- A Neon PostgreSQL database (or local PostgreSQL)
- Clone the repository
- See the client and server directories for individual setup instructions:
It's recommended to run both client and server concurrently during development. Open two terminals:
Terminal 1 (Server):
cd server
npm install
npm run devTerminal 2 (Client):
cd client
npm install
npm run dev