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.
- 🔹 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
- Angular
- TypeScript
- SignalR Client
- WebRTC APIs
- HTML5, CSS3
- ASP.NET Core Web API
- SignalR (Real-time communication)
- WebRTC Signaling
- JWT Authentication
- SQL Server
- 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
- User logs in
- Connection established via SignalR
- Active users are tracked in real time
- Notifications are pushed instantly to connected clients
- Incoming video calls trigger ringtone and UI alert
- Clone the repository
- Open backend solution in Visual Studio
- Update
appsettings.jsonwith SQL Server connection string - Run database migrations (if any)
- Start the API
- Navigate to Angular project folder
- Run
npm install - Update API base URL in environment file
- Run
ng serve - Open browser at
http://localhost:4200
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.
- JWT-based authentication
- Secure SignalR connections
- Backend validation for all requests
- Group chat functionality
- Screen sharing during video calls
- File & media sharing
- Message read receipts
- Docker & Azure deployment automation
This project is for learning and demonstration purposes.