{"id":27001560,"url":"https://github.com/soulee-dev/reactsignpad","last_synced_at":"2025-08-11T06:22:07.860Z","repository":{"id":264637907,"uuid":"893930755","full_name":"soulee-dev/ReactSignpad","owner":"soulee-dev","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-25T13:28:52.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T04:19:28.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/soulee-dev.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}},"created_at":"2024-11-25T13:08:15.000Z","updated_at":"2024-11-25T13:28:56.000Z","dependencies_parsed_at":"2024-11-25T16:18:11.717Z","dependency_job_id":null,"html_url":"https://github.com/soulee-dev/ReactSignpad","commit_stats":null,"previous_names":["soulee-dev/reactsignpad"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/soulee-dev/ReactSignpad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulee-dev%2FReactSignpad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulee-dev%2FReactSignpad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulee-dev%2FReactSignpad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulee-dev%2FReactSignpad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soulee-dev","download_url":"https://codeload.github.com/soulee-dev/ReactSignpad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulee-dev%2FReactSignpad/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269838586,"owners_count":24483242,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"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":[],"created_at":"2025-04-04T04:19:12.544Z","updated_at":"2025-08-11T06:22:07.803Z","avatar_url":"https://github.com/soulee-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReactSignpad\nhttps://github.com/user-attachments/assets/15ef641f-e82c-430e-9845-9e99df66c990\n\nReactSignpad is a technological prototype designed to showcase how **SharedWorker** can be used to share data between multiple browser tabs in real-time. This project demonstrates a multiple-tab Signpad application where one tab acts as the Operator and the other as the Customer.\n\nThe Customer can sign using a mouse or touch input, and the signature is mirrored instantly on the Operator's screen.\n\n## Features\n- Real-Time Synchronization: Utilizes SharedWorker to sync data between the multiple tabs instantly.\n- Multiple-Tabs Interaction: One tab serves as the Operator view, while the other is the Customer view.\n- User-Friendly Signing: Supports both mouse and touch input for signing.\n- Efficient Communication: Demonstrates the power of SharedWorker for real-time, inter-tab communication.\n\n## How It Works\n1. SharedWorker is used to establish a shared data channel between the multiple tabs.\n2. The Customer tab allows the user to draw their signature using mouse or touch input.\n3. The signature data is sent to the Operator tab in real-time, where it is mirrored instantly.\n\n## Getting Started\n### Prerequisites\n- Node.js and npm installed\n- A modern browser that supports SharedWorker (e.g., Chrome, Firefox)\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/soulee-dev/ReactSignpad.git\ncd ReactSignpad\n\n```\n2. Install dependencies:\n```bash\nnpm install\nStart the development server:\n```\n\n```bash\nnpm run dev\n```\n\n4. Open two or more tabs in your browser and navigate to the same URL provided by the development server.\n\n## Debug\nTo debug SharedWorker, type `chrome://inspect/#workers` on browser.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulee-dev%2Freactsignpad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulee-dev%2Freactsignpad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulee-dev%2Freactsignpad/lists"}