A production-ready Employee Notification System built with Clean Architecture, Dependency Injection, and Strategy Pattern in .NET 8.
Presentation (WinForms)
↓
Application (NotificationManager)
↓
Domain (Interfaces + Entities)
↑
Infrastructure (Email, SMS, WhatsApp)
| Project | Type | Responsibility |
|---|---|---|
CleanArch.Domain |
Class Library | Entities & Interfaces |
CleanArch.Application |
Class Library | Business Logic |
CleanArch.Infrastructure |
Class Library | Email, SMS, WhatsApp |
CleanArchitecture-NotificationService |
WinForms App | UI & DI Setup |
- Clean Architecture — Dependency rule strictly followed
- Dependency Injection — Loosely coupled services
- Strategy Pattern — Notification channel at runtime
- SOLID Principles — Especially Open/Closed Principle
| Channel | Status |
|---|---|
| ✅ Implemented | |
| SMS | ✅ Implemented |
| 🔜 Ready to plug in |
git clone https://github.com/ITHunters/CleanArchitecture-NotificationService.git- Open
.slnin Visual Studio 2022 - Set startup project →
CleanArchitecture-NotificationService - Press F5
// 1. Infrastructure mein class banao
public class WhatsAppNotification : INotificationService
{
public string Channel => "WhatsApp";
public async Task SendAsync(NotificationRequest request) { }
}
// 2. Program.cs mein register karo
services.AddScoped<INotificationService, WhatsAppNotification>();
// Domain ya Application touch nahi karna! ✅Haroon Siddique — @ITHunters