{"id":27957912,"url":"https://github.com/hitesh-c/whiteboard","last_synced_at":"2026-05-04T09:33:09.682Z","repository":{"id":154867569,"uuid":"492416797","full_name":"hitesh-c/whiteboard","owner":"hitesh-c","description":"WhiteBoard using hooks, created by me","archived":false,"fork":false,"pushed_at":"2022-07-23T12:03:58.000Z","size":1775,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-24T10:34:49.386Z","etag":null,"topics":["canvas","collaborate","github","github-campus-experts","github-pages","react","typescript"],"latest_commit_sha":null,"homepage":"https://hitesh-c.github.io/whiteboard","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hitesh-c.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-15T07:24:59.000Z","updated_at":"2022-07-17T05:51:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"47c8d6a7-e522-4d80-a8e3-03c8d76758c4","html_url":"https://github.com/hitesh-c/whiteboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hitesh-c/whiteboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitesh-c%2Fwhiteboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitesh-c%2Fwhiteboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitesh-c%2Fwhiteboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitesh-c%2Fwhiteboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hitesh-c","download_url":"https://codeload.github.com/hitesh-c/whiteboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hitesh-c%2Fwhiteboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32601542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","collaborate","github","github-campus-experts","github-pages","react","typescript"],"created_at":"2025-05-07T18:15:14.430Z","updated_at":"2026-05-04T09:33:09.665Z","avatar_url":"https://github.com/hitesh-c.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whiteboard \n\nSimple Whiteboard app made with React, custom hooks, Canvas API\n\n## Demo\n\nhttps://hitesh-c.github.io/whiteboard\n\n## How to start:\n\n1. install packages by Yarn Install\n2. it may also require typescript in your system folder\n\n## For undo functionality, \ni created a object which store array { undoSteps } of coordinates.\ni also keep track on { undo } \nwhen undo button is clicked, it take out { data } object via undoSteps[undo]\nas data is array of cordinates,\n\nwe only need to retrace on data.\n\n data.forEach((item: any, index: number) =\u003e {\n        if (index !== 0) {\n          ctx.current.lineTo(item.offsetX, item.offsetY);\n          ctx.current.stroke();\n        }\n      });\n\nafter undo, we push in { redoSteps } and increment in { redo } \n\nFor redo functionality, same happens in redoSteps[redo]\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitesh-c%2Fwhiteboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhitesh-c%2Fwhiteboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhitesh-c%2Fwhiteboard/lists"}