/klustr-api

Real Time Communication Backend (Chat/Video)

Primary LanguageC#

Klustr API

shields shields shields

Project Description

The Klustr API is a backend service for the Klustr chat application, built using .NET Web API, SignalR for real-time communication, and PostgreSQL as the database. This API handles user authentication, room management, messaging, and audio/video chat functionalities.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • .NET SDK installed.
  • PostgreSQL database setup.
  • Basic knowledge of .NET Web API, SignalR, and PostgreSQL.

Technologies Used

  • .NET Web API
  • SignalR
  • PostgreSQL
  • JWT for authentication

Installation

  1. Clone the repository:
git clone https://github.com/Klustr-RTC/klustr-api.git
  1. Navigate to the project directory:
cd klustr-api
  1. Create a .env file in the root directory and add the environment variables as mentioned in the .env.example file in root directory.

  2. Restore NuGet packages:

dotnet restore
  1. Apply database migrations:
dotnet ef database update
  1. Run the API:
dotnet run
  1. Open http://localhost:5147/swagger/index.html in your browser to view the api documenetation.

Features

  • User Authentication: Register and login users using JWT.
  • Room Management: Create, update, delete, and manage rooms.
  • Messaging: Real-time messaging using SignalR.
  • Audio/Video Chat: WebRTC integration for audio and video communication.
  • Profile Management: View and edit user profiles.
  • Link Generation: Generate and manage shareable links for rooms.

Contributors

Contact Information

For inquiries or support, please contact: