DrawApp is a real-time collaborative whiteboard application where users can draw shapes, add text, change colors, and scale the canvas—all in real time. Built with Next.js, Socket.IO, TailwindCSS, and Aceternity UI, the app ensures smooth collaboration, robust authentication with NextAuth, and high scalability using Redis.
- ✅ Real-time Collaboration with Socket.IO
- ✅ Shapes Supported – Rectangle, Circle, Line, and Text
- ✅ Dynamic Colors – Change shape colors instantly
- ✅ Canvas Scaling – Zoom in or out easily
- ✅ Authentication – Secure login via NextAuth
- ✅ Modern UI – TailwindCSS + Aceternity UI
- ✅ Redis Pub/Sub – Scale Socket.IO across multiple instances
- ✅ Job Queues with Redis –
- Flush shapes from Redis to PostgreSQL
- Handle email verification & password reset requests at scale
- Frontend: Next.js, TailwindCSS, Aceternity UI
- Backend: Next.js API Routes + Socket.IO
- Authentication: NextAuth.js
- Real-time Communication: Socket.IO + Redis Pub/Sub
- Job Queues: Redis Queues for background tasks
- Database: PostgreSQL
# Clone the repository
git clone https://github.com/RahulGIT24/draw-app
cd draw-app
# Build and run the Docker containers
docker-compose up