Real-time Chat App with SignalR
A multi-room chat application using ASP.NET Core with SignalR for real-time bidirectional messaging, supporting typing indicators, presence tracking, and message history persisted via EF Core. Learners practice SignalR hubs, real-time connection management, and combining WebSockets with a persistence layer.
- Estimate
- ~11.5h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
ASP.NET Core · SignalR · Entity Framework Core
Project roadmap
- 01
Set up the SignalR hub and basic messaging
~2hCreate a ChatHub with a SendMessage method that broadcasts to all connected clients in a room group.
- 02
Implement room-based groups
~1.5hUse SignalR groups so messages are scoped to the chat room a user has joined.
- 03
Add presence tracking
~2hTrack connected users per room in a concurrent dictionary and broadcast join/leave notifications.
- 04
Add typing indicators
~1.5hImplement a lightweight event that broadcasts 'user is typing' state with debouncing on the client.
- 05
Persist message history with EF Core
~2.5hStore sent messages in a database and load recent history when a user joins a room.
- 06
Handle reconnection and scaling considerations
~2hHandle client reconnect scenarios gracefully and document how a backplane like Redis would be added for multi-server scaling.
Resources
- DocsC# Documentation
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack