From a0b5e0c13f55eb56541fbf717e41da323f35270c Mon Sep 17 00:00:00 2001 From: Nilesh darji <97864081+Nilesh9106@users.noreply.github.com> Date: Wed, 5 Jun 2024 14:39:30 +0530 Subject: [PATCH] Create README.md --- README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a931638 --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +
+ +

Klustr API

+
+ shields + shields + shields +
+
+ +#### [Live Site](https://klustr.netlify.app) | [Youtube Video](https://www.youtube.com/watch?v=KGh4CIZ1KHo) + +## Project Description + +The Klustr API is a backend service for the [Klustr chat application](https://github.com/Klustr-RTC/klustr-web), 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: + +```sh +git clone https://github.com/Klustr-RTC/klustr-api.git +``` +2. Navigate to the project directory: +```sh +cd klustr-api +``` + +5. Create a `.env` file in the root directory and add the environment variables as mentioned in the `.env.example` file in root directory. + +6. Restore NuGet packages: + +```sh +dotnet restore +``` + +7. Apply database migrations: +```sh +dotnet ef database update +``` + +8. Run the API: +```sh +dotnet run +``` + +9. Open [http://localhost:5147/swagger/index.html](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: + +- [Email](mailto:nileshdarji28200@gmail.com)