[!IMPORTANT] The Website is hosted on Renderβs free tier, so it might take a few seconds to load and display the website - but hey, good things take time! π
π¨ Canvas Mirror
Free and Real-Time collaborative platform π¦ π
π¨ Canvas Mirror - It is a real-time collaborative whiteboard website. It allows multiple users to sketch together on a shared canvas, make notes and a lot more.
Contents
π¨ Connect And Doodle With Your Buddies:
- Username must be unique because sharing the same name as someone else will cause your movements to overlap!
- Use the same room name, make sure everyone joins the exact same room to collaborate.
- Once you're in, let the creativity flow together, in real-time! π¨π¦
π Features
- βοΈ Collaborative Drawing - Real time multiuser sketching powered by WebSockets.
- πΌοΈ Canvas 2D Integration β Smooth and responsive drawing experience using the Canvas API.
- π‘ Live Sync - All strokes and updates are instantly mirrored to other connected users.
- ποΈ Sticky Notes β Leave notes or reminders directly on the canvas.
π οΈ Tech Stack
| Frontend | Backend | Real-Time | Drawing | Containerization |
|---|---|---|---|---|
| React.js (Typescript) | FastApi (Python) | Websocket | Canvas 2D API | Docker |
βοΈ Installation
-
π Manual Installation:
1. Clone the Repository
git clone https://github.com/A-ryan-Kalra/canvas_mirror # Enter the working directory cd canvas-mirror2. π§ Backend Setup (FastAPI)
cd server python3 -m venv venv-canvas source venv-canvas/bin/activate pip install -r requirements.txt uvicorn canvas_backend.main:app --reload3. π Frontend Setup (React)
cd ../client npm install npm run startOpen http://localhost:5173 in your browser to see the result.
-
π³ DOCKER Installation
-
Run Instantly with Docker (Prebuilt Image)
# Pull the prebuilt image docker pull aryankalra363/canvas_mirror # Run the app on port 8000 docker run -p 8000:8000 -e STATIC_PATH=app/client aryankalra363/canvas_mirrorπ Open your browser and visit: http://localhost:8000
-
[!IMPORTANT] Make sure to include .env file for both server and client directory before the build.
-
Or, run locally with Docker Compose
If you would like to clone the code and run locally:
1. Clone the repository
https://github.com/A-ryan-Kalra/canvas_mirror.git cd canvas_mirror2. Run with Docker Compose
docker compose up --buildπ Open your browser and visit: http://localhost:8000
You know what's absolutely free?
- Leaving a β star
- π΄Forking the repository
- No hidden fees, no subscriptions - just pure open-source love π₯°!
Powered by βοΈ & π§
Aryan Kalra