{"id":22828793,"url":"https://github.com/costingh/collaborative-whiteboard","last_synced_at":"2025-04-23T16:24:31.641Z","repository":{"id":196742576,"uuid":"400714950","full_name":"costingh/collaborative-whiteboard","owner":"costingh","description":"This is a collaborative whiteboard that allows real-time communication through sockets. It was built using Next.js and Spring Boot. Users can share a room and draw on canvas which will be updated on every user's screen. ","archived":false,"fork":false,"pushed_at":"2021-10-01T06:47:59.000Z","size":694,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T16:24:12.418Z","etag":null,"topics":["canvas","docker","draw","drawing","java","mongodb","mongodb-database","nextjs","react","real-time-collaboration","realtime","scpringboot","sockjs","stomp","stomp-client","vercel","websockets"],"latest_commit_sha":null,"homepage":"https://collaborative-whiteboard.vercel.app/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/costingh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-28T05:58:45.000Z","updated_at":"2025-01-05T05:21:17.000Z","dependencies_parsed_at":"2023-09-27T08:13:14.847Z","dependency_job_id":null,"html_url":"https://github.com/costingh/collaborative-whiteboard","commit_stats":null,"previous_names":["costingh/collaborative-whiteboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fcollaborative-whiteboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fcollaborative-whiteboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fcollaborative-whiteboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costingh%2Fcollaborative-whiteboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/costingh","download_url":"https://codeload.github.com/costingh/collaborative-whiteboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250468736,"owners_count":21435532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","docker","draw","drawing","java","mongodb","mongodb-database","nextjs","react","real-time-collaboration","realtime","scpringboot","sockjs","stomp","stomp-client","vercel","websockets"],"created_at":"2024-12-12T19:12:12.662Z","updated_at":"2025-04-23T16:24:31.614Z","avatar_url":"https://github.com/costingh.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Collaborative Whiteboard\n\nLive Demo: https://collaborative-whiteboard.vercel.app/ \n\nThis is a collaborative whiteboard that allows real-time communication through sockets. It was built using Next.js, Spring Boot and MongoDB. Users can share a room and draw on canvas which will be updated on every participant's screen. \n\n\n# Demo\n![Demo Image](https://github.com/costingh/collaborative-whiteboard/blob/master/demo.png?raw=true)\n\n# Functionality\nWhen the app is launched, the user must create a room or join an existent one. \nIf the user chooses to create a room, a username and a room name is required. Else, to join a room a username and the room ID are required.\n* Once the room is created, it will be stored in MongoDB Database.\n* Other users can join this room if they know its ID\n* Every time a user joins or leaves a room, the message will be broadcasted to all users in that specific room through sockets.\n* Each user in a room can draw on canvas, change the width of pencil, erase drawings, save the canvas or import other.\n* Each drawing is stored in Database. Drawings are broadcasted as json object which holds coordinates of drawing, color, lineWidth, and the ID of the user who draw it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostingh%2Fcollaborative-whiteboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcostingh%2Fcollaborative-whiteboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostingh%2Fcollaborative-whiteboard/lists"}