A full-stack real-time collaborative whiteboard platform that enables multiple users to draw and collaborate simultaneously with low-latency updates and persistent session support.
- ✏️ Real-time multi-user drawing with Socket.IO
- 🔒 Secure authentication with JWT
- 🧠 Persistent whiteboard sessions using MongoDB
- ⚙️ RESTful API for whiteboard management
- 📊 30% improvement in response times via optimized MongoDB queries and indexing
- 🎨 Clean and intuitive UI with React + TailwindCSS
- React 18
- Vite
- TailwindCSS
- Socket.IO Client
- Node.js + Express
- MongoDB (with Mongoose)
- JWT Authentication
- Socket.IO
- Docker & Docker Compose
- Environment variables for easy config
git clone https://github.com/Ravi3727/White-Board-Web-Application.git
cd white-Board-Web-Application cd backend
npm install
npm run dev
In a new terminal:
cd frontend
npm install
npm run dev
Frontend: http://localhost:5173
Backend: http://localhost:3000
Ensure Docker and Docker Compose are installed.
Build & Run the App
docker-compose up --build
🎯 Frontend will be live at: http://localhost
🔙 Backend at: http://localhost:3000
whiteboard/
│
├── frontend/ # React + Vite frontend
├── backend/ # Express backend
├── docker-compose.yml
└── README.md
Backend .env (auto-provided in docker-compose)
PORT=3000
MONGODB_URI=your-mongodb-uri
ACCESS_TOKEN_SECRET=your-access-token-secret
REFRESH_TOKEN_SECRET=your-refresh-token-secret
VITE_BACKENDURL=http://localhost:3000/api/v1
Ravikant B.Tech in Mathematics & Computing, Delhi Technological University