A web application for video conferencing with user management, meeting creation, and room joining features.
- User authentication and session management.
- Fetch and display user lists from the server.
- Create new meetings or join existing ones.
- Status indicators for online/offline users.
- User logout functionality.
- Frontend: HTML, CSS (with Font Awesome icons), JavaScript
- Backend: Spring Boot
- Build Tool: Gradle
- Database: PostgreSQL
- API: RESTful APIs
- Other Tools:
- Local Storage for session handling.
- JDK 23 or higher installed on your system.
- PostgreSQL database setup and configured.
- Gradle installed or use the Gradle Wrapper included in the project.
-
Clone the repository:
https://github.com/AnirudhSharma777/videocall-application.git cd videocall-app
-
Configure the database:
- Update the
application.yml
orapplication.properties
file in thesrc/main/resources
directory with your PostgreSQL database credentials.
- Update the
-
Build and run the backend server:
./gradlew bootRun
-
Serve the frontend files:
- You can use a local server (like
http-server
) or simply openindex.html
in a browser.
- You can use a local server (like
-
Open the application in your browser:
http://localhost:8080
Here’s a list of the key backend API endpoints used in this project:
-
GET
/api/v1/users
Retrieves a list of all users. -
POST
/api/v1/users/logout
Logs out the currently connected user. -
POST
/api/v1/users/login
LogIn the register user.
-
Login:
- The application will redirect to the
login.html
page if the user is not logged in.
- The application will redirect to the
-
View Users:
- Once logged in, you can see a list of users with their online/offline status.
-
Create a New Meeting:
- Click the "Create a New Meeting" button. A new meeting room will open in a new tab.
-
Join an Existing Meeting:
- Enter the meeting ID in the provided input box and click "Join Meeting."
-
Logout:
- Use the logout button to safely log out of the application.
- Implement a real-time chat feature within meetings.
- Add video and audio controls for participants.
- Improve user interface with animations and themes.
- Add role-based access control (e.g., host and participant roles).
This project is licensed under the MIT License.
Feel free to modify and enhance this README.md to include any additional details or sections that you think are relevant. Let me know if you want help generating or customizing any part of it!