This is a video calling and video conferencing application built using React, Elastic UI, Firebase for database and authentication, and ZegoCloud for real-time communication. The app allows users to have 1:1 video calls as well as conduct video conferences with multiple participants. It features a visually appealing user interface that is fully responsive. 📱💻
-
🔒 User Authentication: Users can create accounts, log in, and authenticate themselves securely using Firebase authentication.
-
🎥 1:1 Video Calls: Users can initiate and receive 1:1 video calls with other users of the application. The calls are established using the ZegoCloud platform, which provides real-time communication capabilities.
-
🎉 Video Conferencing: Users can create or join video conferences with multiple participants. This allows for collaborative video calls and remote meetings.
-
🖥️ Responsive UI: The user interface of the application is designed to be fully responsive, providing an optimal viewing experience across various devices and screen sizes.
- ⚛️ React: A JavaScript library for building user interfaces.
- 💎 Elastic UI (EUI): A UI framework that provides a set of React components for building consistent and responsive user interfaces.
- 🔥 Firebase: A cloud-based platform that offers various services, including authentication and database functionality.
- 📡 ZegoCloud: A real-time communication platform that enables video calling and conferencing capabilities.
To run the application locally, follow these steps:
- Clone the repository to your local machine.
- Install the necessary dependencies.
- Set up Firebase authentication and database services, and obtain the required configuration details.
- Configure the Firebase credentials in the application.
- Obtain the necessary credentials and configuration details from ZegoCloud to enable video calling and conferencing functionality.
- Configure the ZegoCloud credentials in the application.
- Start the development server.
- Access the application by visiting
http://localhost:3000
in your web browser.
The project follows a common folder structure for a React application:
public/
: Contains the public assets and theindex.html
file.src/
: Contains the application source code.components/
: Includes reusable React components used throughout the application.pages/
: Contains individual page components that define different screens or views of the application.services/
: Includes modules responsible for interacting with Firebase and ZegoCloud services.utils/
: Contains utility functions or helper modules used in the application.App.js
: The main entry point of the application.index.js
: The entry point for rendering the React application.
Contributions to this project are welcome. If you would like to make any improvements or add new features, feel free to submit a pull request.
Please ensure that your changes align with the project's coding style, conventions, and best practices.