Skip to content

A basic video call application created to understand how video call technologies work and to practice building such systems.

Notifications You must be signed in to change notification settings

AnirudhSharma777/videocall-application

Repository files navigation

VideoCall Application

A web application for video conferencing with user management, meeting creation, and room joining features.

Table of Contents


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.

Technologies Used

  • 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.

Setup Instructions

Prerequisites

  1. JDK 23 or higher installed on your system.
  2. PostgreSQL database setup and configured.
  3. Gradle installed or use the Gradle Wrapper included in the project.

Steps

  1. Clone the repository:

    https://github.com/AnirudhSharma777/videocall-application.git
    cd videocall-app
  2. Configure the database:

    • Update the application.yml or application.properties file in the src/main/resources directory with your PostgreSQL database credentials.
  3. Build and run the backend server:

    ./gradlew bootRun
  4. Serve the frontend files:

    • You can use a local server (like http-server) or simply open index.html in a browser.
  5. Open the application in your browser:

    http://localhost:8080
    

API Endpoints

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.


How to Use

  1. Login:

    • The application will redirect to the login.html page if the user is not logged in.
  2. View Users:

    • Once logged in, you can see a list of users with their online/offline status.
  3. Create a New Meeting:

    • Click the "Create a New Meeting" button. A new meeting room will open in a new tab.
  4. Join an Existing Meeting:

    • Enter the meeting ID in the provided input box and click "Join Meeting."
  5. Logout:

    • Use the logout button to safely log out of the application.

Future Enhancements

  • 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).

License

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!

About

A basic video call application created to understand how video call technologies work and to practice building such systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published