{"repo":"Ansh-699/Excalidraw","free":true,"listed":false,"github":"https://github.com/Ansh-699/Excalidraw","clone":"git clone https://github.com/Ansh-699/Excalidraw.git","description":"Real-time collaborative whiteboard — Next.js 15, WebSockets, Postgres, Turborepo monorepo.","language":"TypeScript","stars":10,"topics":["canvas","nextjs","turborepo","typescript","websockets"],"license":null,"category":"databases-storage","readme_excerpt":"Excalidraw A real-time collaborative drawing board. Create a room, share the link, and sketch together — rectangles, circles, triangles, freehand pencil, eraser, colors, stroke widths, and undo / redo, all synced over WebSockets and persisted to Postgres. Stack - Frontend — Next.js 15 (App Router) + TypeScript + Tailwind v4 + shadcn/ui, on a - HTTP backend — Bun + Express, JWT auth (signup / signin / rooms) - WebSocket backend — Bun + ws , handles join room , drawing , erase shape - Database — Postgres via Prisma ( User , Room , Chat with a shape: Json? column) - Monorepo — Turborepo, Bun workspaces Layout Local development Prereqs: Bun ≥ 1.2, a Postgres database (a free Neon project works great). Opens the frontend on , HTTP backend on 3001, WS on 8081. Run individual services: Deployment Shipped as: - Vercel — apps/web (Next.js frontend) - Railway — apps/http-backend and apps/web-socket-backend (two services, separate Dockerfiles in docker/ ) - Neon — managed Postgres See the top-level .env.example for the full list of environment variables. Set them in Vercel and Railway via each dashboard; never commit a filled-in .env . Rough steps: 1. Create a Neon project, copy the connection string into DATABASE URL . 2. On Railway, create two services from this repo — one pointing at docker/docker.backend , one at docker/docker.websocket . Set DATABASE URL , JWT SECRET , and CORS ORIGINS on both. 3. On Vercel, import the repo. Root directory stays at / ; Vercel reads vercel.json . Ad","default_branch":null,"files":null,"tree":[],"storefront":"/r/Ansh-699","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Ansh-699/Excalidraw/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}