Rotating Canvas is a real-time, multiplayer drawing platform that showcases proficiency in full-stack development and real-time communication.
Key features include:
In addition to drawing, the platform integrates real-time chat and group audio calls, enabling rich communication among users. Guests can join instantly without registration, while authenticated users can create accounts to save and share their final drawing
graph LR
%% Frontend
subgraph Frontend
client([Client - Flutter])
end
%% Backend
subgraph Backend
server[Server - Node.js]
end
%% Data Stores
subgraph Data_Stores
db[(Database - MongoDB)]
cloud[/Cloud Storage - Cloudinary/]
end
%% Connections
client -- HTTP API (Auth, Rooms, Save) --> server
client -- WebSocket (Drawing & Chat) --> server
server -- DB Connection --> db
server -- Upload Final Drawing --> cloud
client -- WebRTC (P2P Voice) --- client
The platform is built on a standard client-server architecture. A Flutter client communicates with a Node.js backend. The system leverages three distinct communication channels to achieve a seamless real-time experience.
All user and game data is persisted in a database, while final drawings are uploaded to a separate cloud storage service for efficiency.