Skip to content

A video conferencing application developed in Go and JavaScript.

License

Notifications You must be signed in to change notification settings

karan9123/squad-connect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Squad Connect

Squad Connect is a video conferencing application developed in Go and JavaScript. It allows users to participate in video calls with multiple peers, handle audio and video streams, and supports basic controls for muting/unmuting and stopping/starting video. The application uses WebRTC for peer-to-peer communication and a signaling server to manage connections and media streaming.

Features

  • Real-time Video Conferencing: Participate in video calls with multiple users.
  • Audio and Video Controls: Mute/unmute audio and start/stop video streams.
  • Multi-Peer Connections: Handle multiple peer connections in a single room.
  • User Interface: Basic UI for video display and control buttons.

Architecture

The application consists of the following components:

  1. Web Client:

    • Implemented in JavaScript.
    • Handles user interface, WebRTC peer connections, and signaling.
  2. Signaling Server:

    • Implemented in Go.
    • Manages WebSocket connections for signaling.
    • Handles room creation and participant management.
  3. WebRTC Peer Connection:

    • Manages direct peer-to-peer communication.
    • Handles audio and video streams.

Setup

Prerequisites

  • Go (1.16+)
  • Node.js (for client-side development)
  • Web browser with WebRTC support

Installation

  1. Clone the Repository:

    git clone https://github.com/karan9123/squad-connect.git
    cd squad-connect
  2. Set Up the Server:

    Navigate to the server directory and build the Go server:

    cd server
    go build -o server

    Start the server:

    ./server
  3. Set Up the Client:

    Navigate to the client directory and install dependencies:

    cd client
    npm install

    Start the client:

    npm start

    Open the client in your web browser at http://localhost:3000.

Usage

  1. Start the Server: Ensure the Go server is running.

  2. Start the Client: Run the client application and open it in multiple browser tabs or different browsers.

  3. Join a Room: Use the client interface to connect to a room and start video conferencing.

Development

Directory Structure

  • client/: Contains the client-side code and assets.
  • server/: Contains the Go code for the signaling server.

Contributing

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature/your-feature).
  5. Create a new Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

About

A video conferencing application developed in Go and JavaScript.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published