A full-stack real-time collaborative whiteboard application built with modern technologies. Users can join rooms, draw together, interact, and search for other users. Features secure authentication, persistent session handling, and optimized performance via caching and structured databases.
- React β UI Framework
- Material UI (MUI) β Component styling
- REST API Integration β For backend communication
- Express.js β Backend server
- Redis β For caching canvas state
- Prisma β ORM for PostgreSQL
- PostgreSQL β Relational database
- Passport.js β Authentication middleware
- bcryptjs β Password hashing
- Room IDs β Shareable and unique drawing sessions between two users
- User Search β Search for & share with users
- Authentication β Session-based login/register/logout
- User registration and secure login using Passport and
bcryptjs - Unique whiteboard rooms with shareable URLs
- Drawing and canvas updates (Base64 or pixel-level)
- REST APIs for user and board interaction
- Fully responsive UI with MUI components
- Persistent session handling with PostgreSQL
- REAL-TIME collaboration using WebSockets (This was a challenge)!
- Planned: Versioning and canvas history via PostgreSQL snapshots