{"id":16109053,"url":"https://github.com/sbis04/agora_demo","last_synced_at":"2025-03-18T09:30:41.028Z","repository":{"id":163472607,"uuid":"635165323","full_name":"sbis04/agora_demo","owner":"sbis04","description":"Flutter Agora Demo app (uses Firebase Cloud Functions for token generation)","archived":false,"fork":false,"pushed_at":"2023-05-10T12:14:27.000Z","size":872,"stargazers_count":16,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T08:33:00.865Z","etag":null,"topics":["agora","android","firebase","flutter","ios","web"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/sbis04.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":"2023-05-02T05:27:10.000Z","updated_at":"2024-12-07T23:06:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"d948de17-0704-4a2e-a4b5-d1e69e38bff6","html_url":"https://github.com/sbis04/agora_demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbis04%2Fagora_demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbis04%2Fagora_demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbis04%2Fagora_demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbis04%2Fagora_demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbis04","download_url":"https://codeload.github.com/sbis04/agora_demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910666,"owners_count":20367546,"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":["agora","android","firebase","flutter","ios","web"],"created_at":"2024-10-09T19:29:33.301Z","updated_at":"2025-03-18T09:30:41.022Z","avatar_url":"https://github.com/sbis04.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flutter Agora Demo App\n\nA [Flutter](https://flutter.dev) app for demonstrating [Agora](https://www.agora.io) integration to support realtime video calling experience that works on Android, iOS, and Web platforms.\n\n## Pages\n\n![Agora Mobile App Screenshots](screenshots/agora_mobile_view.png)\n\nThe app consists of two primary pages:\n\n* **Create Channel Page:** This page will serve as the starting point for users to initiate a video call. They will be able to enter a channel name, which will be used to create a unique video call room. Users will also get a dialog for selecting their preference for microphone and camera on/off before joining the call. By clicking the \"Join\" button, users will be directed to the Video Call Page, where they'll be able to participate in the video call with other users who have joined the same channel.\n\n* **Video Call Page:** This is where the actual video calling experience takes place. Users who have joined the same channel will be able to see and hear each other in real-time. On this page, they will have access to essential call actions such as muting or un-muting audio, switching between front and rear cameras, and leaving the channel to return to the Create Channel Page.\n\n## Cloud Function\n\nThere's one Firebase Cloud Function used in this project for generating the Agora Token which is required for authenticating each user. The function is located in the [`functions`](/functions/index.js) directory.\n\n## Packages used\n\n- [firebase_core](https://pub.dev/packages/firebase_core)\n- [cloud_functions](https://pub.dev/packages/cloud_functions)\n- [agora_rtc_engine](https://pub.dev/packages/agora_rtc_engine/versions/5.3.1)\n- [permission_handler](https://pub.dev/packages/permission_handler)\n- [flutter_dotenv](https://pub.dev/packages/flutter_dotenv)\n\n## License\n\nCopyright (c) 2023 Souvik Biswas\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbis04%2Fagora_demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbis04%2Fagora_demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbis04%2Fagora_demo/lists"}