TypeScript-based collaborative whiteboard with:
- Next.js frontend (Canvas + optimistic rendering)
- Express + Socket.io backend (room isolation + heartbeat/reconnect support)
- Redis Pub/Sub adapter for horizontal scale
- Docker Compose for environment parity
- Install dependencies:
npm install
- Start Redis + backend + frontend:
docker compose up --build
- Open:
http://localhost:3000
- In one terminal:
npm run dev --workspace server - In another:
npm run dev --workspace web
Ensure Redis is available at redis://localhost:6379.