{"id":25500488,"url":"https://github.com/rahulroybxt/rtc---real-time-chat","last_synced_at":"2026-04-13T13:31:51.543Z","repository":{"id":259593776,"uuid":"879008486","full_name":"RahulRoyBXT/RTC---Real-Time-Chat","owner":"RahulRoyBXT","description":"RTC (Real-Time Chat) is a real-time communication platform designed for users to chat and video conference in real-time. The app uses Firebase for authentication, Firestore for storing user and room data, and ZEGOCLOUD for video chat functionality.","archived":false,"fork":false,"pushed_at":"2024-11-16T09:36:31.000Z","size":274,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-31T16:42:21.188Z","etag":null,"topics":["firebase","reactjs","tailwindcss","zegocloud"],"latest_commit_sha":null,"homepage":"https://rtc-realtimechat.netlify.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/RahulRoyBXT.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-26T17:55:21.000Z","updated_at":"2024-11-18T13:51:12.000Z","dependencies_parsed_at":"2024-10-26T19:47:23.252Z","dependency_job_id":"332f58f6-8740-400b-9573-c1fdc963ac88","html_url":"https://github.com/RahulRoyBXT/RTC---Real-Time-Chat","commit_stats":null,"previous_names":["rahulroybxt/rtc---real-time-chat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RahulRoyBXT/RTC---Real-Time-Chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RahulRoyBXT%2FRTC---Real-Time-Chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RahulRoyBXT%2FRTC---Real-Time-Chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RahulRoyBXT%2FRTC---Real-Time-Chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RahulRoyBXT%2FRTC---Real-Time-Chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RahulRoyBXT","download_url":"https://codeload.github.com/RahulRoyBXT/RTC---Real-Time-Chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RahulRoyBXT%2FRTC---Real-Time-Chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31754842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T13:27:56.013Z","status":"ssl_error","status_checked_at":"2026-04-13T13:21:23.512Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["firebase","reactjs","tailwindcss","zegocloud"],"created_at":"2025-02-19T03:47:08.583Z","updated_at":"2026-04-13T13:31:51.513Z","avatar_url":"https://github.com/RahulRoyBXT.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# RTC---Real-Time-Chat\n\n## Introduction\nRTC (Real-Time Chat) is a real-time communication platform designed for users to chat and video conference in real-time. The app uses Firebase for authentication, Firestore for storing user and room data, and ZEGOCLOUD for video chat functionality.\n\n## Features\n- User Authentication: Secure sign-in using Google with Firebase Authentication.\n- Real-Time Messaging: Instant messaging support with live updates.\n- Video Chat: High-quality group video calls powered by ZEGOCLOUD.\n- Interactive Whiteboard: A real-time whiteboard for collaboration during video calls.\n- Auto-Delete Previous Rooms: Rooms are automatically deleted after 5 hours using a     \n  hook, preventing clutter.\n\n## Installation\nTo set up and run the project locally, follow these steps:\n- Frontend: React, Tailwind CSS\n- Backend: Firebase (Authentication and Firestore)\n- Real-Time Communication: ZEGOCLOUD (GeoGo)\n- Build Tool: Vite\n- Password Hashing: bcrypt for securely hashing room passwords\n- Auto-Delete: Hook-based auto-deletion of room data after 5 hours\n\n```bash\n# Clone the repository\ngit clone https://github.com/RahulRoyBXT/RTC---Real-Time-Chat.git\n\n# Navigate to the project directory\ncd RTC---Real-Time-Chat\n\n# Install dependencies\nnpm install\n```\n\n## Usage\nAfter starting the application, open your browser and navigate to `http://localhost:5173`. Register or log in with your credentials to start chatting.\n\nSet up Firebase:\n\n## Create a Firebase project via the Firebase Console.\n- Set up Firebase Authentication and enable Google sign-in.\n- Create a Firestore database to store user and room data.\n- Add Firebase credentials (apiKey, authDomain, projectId, storageBucket, etc.) to your \n  project configuration.\n\n## Set up ZEGOCLOUD:\n- Register for an account at ZEGOCLOUD.\n- Obtain your App ID and App Key from the ZEGOCLOUD dashboard.\n- Integrate these credentials into your project for video calling functionality.\n```bash\n# Install bcrypt for hashing room passwords:\nnpm install bcrypt\n# Start the development server:\nnpm run dev\n```\n\n## Usage\n- Sign-In: Users can sign in using their Google account via Firebase Authentication.\n- Room Creation/Joining: Users can create a new room or join an existing room using a \n  password.\n- Chat: Users can send messages in real-time with instant delivery.\n- Video Calling: Users can initiate or join group video calls.\n\n## Security\n# Authentication and Authorization\n- Firebase Authentication is used to authenticate users via Google login. This ensures that users can securely log in without exposing passwords or other sensitive information.\n\n- Firebase Security Rules are implemented to restrict access to Firestore collections based on authentication status. Only authenticated users can read/write to the database.\n\nExample Firestore rules:\n```bash\nservice cloud.firestore {\n  match /databases/{database}/documents {\n    match /rooms/{roomId} {\n      allow read, write: if request.auth != null;\n    }\n  }\n}\n```\nThis allows only authenticated users to read and write to Firestore, preventing unauthorized access to sensitive data like room passwords.\n\n\n## Future Enhancements\n- Message Encryption: Implement end-to-end encryption for chat messages to prevent \n  unauthorized reading.\n- UI/UX Improvements: Work on the visual interface to improve the user experience and \n  make it more intuitive.\n  \n  \n## Contributing\nWe welcome contributions from the community. To contribute, please follow these steps:\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature-branch`)\n3. Make your changes\n4. Commit your changes (`git commit -m 'Add feature'`)\n5. Push to the branch (`git push origin feature-branch`)\n6. Create a pull request\n\n\n## License\nThis project is licensed under the MIT License. See the LICENSE file for more details.\n\n## Contact\nFor any questions or inquiries, please contact Rahul Roy at [rahulroy.it2021@nsec.ac.in](mailto:rahulroy.it2021@nsec.ac.in).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulroybxt%2Frtc---real-time-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frahulroybxt%2Frtc---real-time-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frahulroybxt%2Frtc---real-time-chat/lists"}