Skip to content

chiragm129/Chat_App_With_Video_Call

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real-Time Chat & Video Calling Application

A full-stack real-time communication application built using Angular, ASP.NET Core, SignalR, WebRTC, and SQL Server.
The application supports live chat, real-time notifications, video calling, and active user status with a video call ringtone feature.


🚀 Features

  • 🔹 Real-time one-to-one chat using SignalR
  • 🔹 Live video calling using WebRTC
  • 🔹 Active user detection & online status
  • 🔹 Real-time notifications for active users
  • 🔹 Video call ringtone for incoming calls
  • 🔹 Secure authentication with JWT
  • 🔹 SQL Server database for user and chat data
  • 🔹 Scalable architecture with separation of concerns

🛠️ Tech Stack

Frontend

  • Angular
  • TypeScript
  • SignalR Client
  • WebRTC APIs
  • HTML5, CSS3

Backend

  • ASP.NET Core Web API
  • SignalR (Real-time communication)
  • WebRTC Signaling
  • JWT Authentication

Database

  • SQL Server

🏗️ Architecture Overview

  • Angular handles UI, real-time chat, notifications, and video calls
  • ASP.NET Core API manages authentication, user management, and signaling
  • SignalR enables real-time messaging and user presence
  • WebRTC handles peer-to-peer video calling
  • SQL Server stores users, messages, and session data

🔔 Real-Time Notification Flow

  1. User logs in
  2. Connection established via SignalR
  3. Active users are tracked in real time
  4. Notifications are pushed instantly to connected clients
  5. Incoming video calls trigger ringtone and UI alert

📦 Installation & Setup

Backend (.NET Core)

  1. Clone the repository
  2. Open backend solution in Visual Studio
  3. Update appsettings.json with SQL Server connection string
  4. Run database migrations (if any)
  5. Start the API

Frontend (Angular)

  1. Navigate to Angular project folder
  2. Run npm install
  3. Update API base URL in environment file
  4. Run ng serve
  5. Open browser at http://localhost:4200

☁️ Deployment Plan (Azure)

The application was designed to be deployed on Microsoft Azure using:

  • Azure App Service (Backend)
  • Azure SignalR Service
  • Azure SQL Database
  • Azure Storage (optional)
  • Azure App Insights

Deployment was planned but not completed due to Azure service cost limitations (free tier restrictions).
However, the application is fully cloud-ready and scalable.


🔒 Security

  • JWT-based authentication
  • Secure SignalR connections
  • Backend validation for all requests

📈 Future Enhancements

  • Group chat functionality
  • Screen sharing during video calls
  • File & media sharing
  • Message read receipts
  • Docker & Azure deployment automation

📄 License

This project is for learning and demonstration purposes.

About

This is a full stack chat app with video call functionality

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors