{"id":40447165,"url":"https://github.com/siddarthr56/spark","last_synced_at":"2026-01-20T17:03:45.999Z","repository":{"id":60588157,"uuid":"540260143","full_name":"SiddarthR56/spark","owner":"SiddarthR56","description":"Go handsfree with Spark and use hand gestures to increase your freedom and control the call","archived":false,"fork":false,"pushed_at":"2022-12-05T22:01:50.000Z","size":15464,"stargazers_count":0,"open_issues_count":7,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T03:29:52.643Z","etag":null,"topics":["gesture-recognition","screen-sharing","video-call","webrtc"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/SiddarthR56.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-09-23T03:11:50.000Z","updated_at":"2022-10-10T02:22:46.000Z","dependencies_parsed_at":"2023-01-24T07:00:54.624Z","dependency_job_id":null,"html_url":"https://github.com/SiddarthR56/spark","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/SiddarthR56/spark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiddarthR56%2Fspark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiddarthR56%2Fspark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiddarthR56%2Fspark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiddarthR56%2Fspark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SiddarthR56","download_url":"https://codeload.github.com/SiddarthR56/spark/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SiddarthR56%2Fspark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28607624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gesture-recognition","screen-sharing","video-call","webrtc"],"created_at":"2026-01-20T17:03:45.936Z","updated_at":"2026-01-20T17:03:45.993Z","avatar_url":"https://github.com/SiddarthR56.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch3 align=\"center\"\u003e\n  \n  \u003cimg src=\"/docs/documentation_photos/project_name.jpg\" alt=\"drawing\" width=\"450\"/\u003e    \n\n  \u003ca href=\"README.md\"\u003eOverview\u003c/a\u003e     |     \u003ca href=\"INSTALL.md\"\u003eInstallation\u003c/a\u003e    |       \u003ca href=\"/docs/project_roadmap.md\"\u003eLong Term Objectives\u003c/a\u003e    \n \n[![Build](https://github.com/SiddarthR56/spark/actions/workflows/build.yml/badge.svg)](https://github.com/SiddarthR56/spark/actions/workflows/build.yml)\n[![Lint](https://github.com/SiddarthR56/spark/actions/workflows/lint.yml/badge.svg)](https://github.com/SiddarthR56/spark/actions/workflows/lint.yml)\n[![Test](https://github.com/SiddarthR56/spark/actions/workflows/test.yml/badge.svg)](https://github.com/SiddarthR56/spark/actions/workflows/test.yml)\n![Coverage](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/SiddarthR56/c267cc7e00c619b7bd0e64cde19dad7b/raw/coverage.json)\n[![DOI](https://zenodo.org/badge/540260143.svg)](https://zenodo.org/badge/latestdoi/540260143)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n  \n\u003c/h3\u003e\n\nWe have the best hands free solution to your presentation needs! Have you ever presented to an audience and not had the ability to interact and change your meeting controls on the go? Spark is a solution to use gestures to change your volume and screen sharing settings while you present. You no longer need to type a value, instead just give your camera a gesture and keep on presenting. We guarantee it will *spark* new conversations and be the most seemless, hands-free presentation you have had! \n\n## Capabilities \n\n- Allows two users to join a video conferencing web application\n- Provides capabilities for user to be able to use gestures to manipulate the web conferencing interface.\n    - Show a thumbs up __to change volume__ \n    - Swipe left or right to interact with your __screen sharing capabilities__. \n\n\u003ch1 align=\"center\"\u003e \n\n\u003cimg src=\"/docs/documentation_photos/swipe.jpeg\" alt=\"drawing\" width=\"300\" height=\"200\"/\u003e    \n\u003cimg src=\"/docs/documentation_photos/thumbs-up-thumbs-down.gif\" width=\"300\" height=\"200\"/\u003e   \n\n\u003c/h1\u003e\n\n## Demo Video \n\n\u003ch1 align=\"center\"\u003e \n\n![Spark Demo](https://user-images.githubusercontent.com/99683342/194715093-3fbc1bc9-7690-4edb-b8bb-5594ba029bb7.mp4) \n\n\u003ch1\u003e\n\n## Worked Examples\n\n1. User is directed to the homepage where they are asked to enter a room number they would like to join. If the room does not already exist, a new room will be created for the user, for example, Room 2 is created in our case here.\n\n\u003cimg src=\"/docs/documentation_photos/ChooseRoomNo.png\" alt=\"drawing\" width=\"480\" /\u003e \n\n2. If another person wishes to join the room, they can simply enter the same room number to join the room. Currently, the application supports volume functions for mute/ unmute, video on/off, and screen share functionality. Gesture recognition is enabled by default for the mute/unmute and screen sharing functionalities.\n\n\u003cimg src=\"/docs/documentation_photos/RoomWithOne.png\" alt=\"drawing\" width=\"480\" /\u003e \n\n3. By showing thumbs up/ down action towards the camera, either of the two users will be able to mute/ unmute their microphones. Similarly swipe left/ right action towards the camera will allow the users to share their screens with each other. In addition, users will also be able to disable gesture recognition by clicking the \u003cb\u003eDisable Gestures\u003cb\u003e button.\n\n\u003cimg src=\"/docs/documentation_photos/MeetingWithTwo.png\" alt=\"drawing\" width=\"480\" /\u003e \n\n\u003cimg src=\"/docs/documentation_photos/ScreenSharing.png\" alt=\"drawing\" width=\"480\" /\u003e \n\n## Use \n\nSetup and installation instructions can be found in the [user-friendly install guide](INSTALL.md)\n\n## Testing / Coverage\n\nVisit our [results page](/docs/results.md) for more information regarding running our test and code coverage scripts. \n\n## Directory Structure \n\n```\n.\n|   .eslintrc.json\n|   .gitignore\n|   CITATION.cff\n|   CODE_OF_CONDUCT.md\n|   CONTRIBUTING.md\n|   LICENSE\n|   INSTALL.md\n|   README.md\n|   package.json\n|   package-lock.json\n|   server.js \n|   client.js\n|   hand_gesture.js\n|   webrtcpage.html\n|   \n+---.github\n|   \\---workflows\n|           build.yml\n|           test.yml\n|           lint.yml\n|           codeql-analysis.yml\n|   \\---ISSUE_TEMPLATE\n|           bug_report.md\n|           feature_request.md\n|      \n+---static\n|   \\---css\n|       | style.css\n|\n+---scripts\n|   cov_parser.py\n|   help.py\n|      \n+---docs\n|   |   filetree.txt\n|   |   project_roadmap.md\n|   |   proj1rubric.md\n|   |   proj1rubricComments.pdf\n|   |   troubleshooting_guide.md\n|   |   results.md\n|   |   spark_demo.mp4\n|   \\---documentation_photos\n|           *lots of photos listed not shown here*\n|   \n+---out \n|   |   index.html\n|   \\---fonts\n|   \\---scripts \n|   \\---styles\n|                    \n\\---test\n    |   test.js\n```\n\n## Contributing\n\nAre you interested in contributing to this project? Visit [our contribution](CONTRIBUTING.md) documentation. \n  \nNeed some ideas on what to contribute? Visit our [project roadmap](/docs/project_roadmap.md) to get some ideas or jump on over to our [development project board](https://github.com/users/SiddarthR56/projects/1) for specific issues we are tracking. \n\nThis project is made possible by the incredible donation of time from NC State Project Contributors and the advice/support of CSC 510 teaching staff. NC State University has made the resources for this project possible, and will continue to support CSC 510 projects for the forseeable future. \n\n## Help \n\nView some common issues users have identified in our [troubleshooting guide](https://github.com/SiddarthR56/spark/blob/main/docs/troubleshooting_guide.md). We list tips and tricks for identifying where the issue may be coming from. Issue reports may be linked to this guide if you identify a bug that is a software limitation. \n\nYou can visit our website with full descriptions of our classes and methods by opening ```index.html``` within your file explorer. Included on the website is user profiles of people who should use the software and success stories!\n  \nNeed more support? Our primary method for addressing bugs and feature requests should be through submitting an issue ticket in the \"Issues\" tab. If you need additional support, please reach out to our development email develop.nak@gmail.com and a member of the team will be in contact with you shortly. You can also email the development email to asked to be added to our subsriber list for updates regarding the project's development.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddarthr56%2Fspark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiddarthr56%2Fspark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddarthr56%2Fspark/lists"}