NotifyHub
Real-time notifications with SignalR, Hangfire background jobs, and Redis
About This Project
Build a production notification system that sends real-time alerts via SignalR, queues email/SMS jobs with Hangfire, and caches notification state in Redis. Covers the full 'Background Jobs & Messaging' section of the .NET roadmap plus real-time web sockets.
What You'll Learn
Key Features
Setup Guide
Clone and start dependencies
Clone the repo and start Redis + PostgreSQL with Docker.
git clone https://github.com/asmanasir/NotifyHub.git cd NotifyHub docker-compose up -d
Configure environment
Set Redis, database, and SendGrid keys.
cp .env.example .env # Required: REDIS_URL, DATABASE_URL # Optional: SENDGRID_API_KEY (emails fall back to console)
Apply migrations
Create notification, user, and job tables.
dotnet ef database update
Running the Project
Run the API
Starts API on :5000, SignalR hub at /hubs/notifications, Hangfire dashboard at /hangfire.
dotnet run
Test real-time notifications
Open the test client to see SignalR in action.
# Open http://localhost:5000 in two browser tabs # Send a notification from one tab and see it appear instantly in the other
Project Info
Tech Stack
Prerequisites
- .NET 8 SDK installed
- Docker Desktop (for Redis + PostgreSQL)
- SendGrid account (free tier) or use the built-in console sink
Learnixo
Project Author
Covers the Background Jobs & Messaging section of the .NET roadmap plus real-time SignalR — two of the most in-demand skills for senior .NET positions.