Access the video walkthrough of the app here: https://drive.google.com/drive/folders/1WWkV8ZYDkeaI-zW_WAVjhYAxBcV35R7M
Features :
- Writing on the whiteboard, using pencil or rectangle elements
- Undo last stroke
- Change font size
- Change font color
- Save the canvas as an image
- Login/Signup, SSO and IAM using Keycloak
- Create a room
- Multiple people joining a room and writing on the keyboard using web sockets
- Responsive design
Get Started :
git clone https://github.com/coderSomya/Realtime-whiteboard.git
cd realtime-whiteboard
Add a .env file in /auth
VITE_KEYCLOAK_URL = "http://127.0.0.1:4000"
VITE_KEYCLOAK_REALM = <your_keycloack_realm>
VITE_KEYCLOAK_CLIENT_ID= <your_keycloak_client_id>
VITE_WHITEBOARD_URL= "http://localhost:5173"
npm i
npm run dev
cd frontend
npm i
npm run dev
docker run -d -p 4000:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:20.0.3 start-dev
where, -d to run it in detached mode -p port mapping [local_port]:[docker_port] -e environment variables
For Keycloak setup
- open localhost:4000
- create a new realm, and give it a name
- create a new client, and give it a name
- in the client settings, add web origin as http://localhost:5174
- add other settings, like user registration, max/min password lengths,etc.
cd ..
cd auth
npm i
npm run dev
- ReactJS
- Typescript
- Javascript
- NodeJS
- Web sockets
- Keycloak
- Docker