A learning project exploring N-tier architecture in ASP.NET Core with a SignalR-powered real-time admin dashboard — built end-to-end as personal practice.
A tourism / travel-booking web application: customers browse destinations, hotels, guides and reservations; administrators manage everything through a separate panel with live statistics that update over SignalR without page refresh.
presentationLayer/ # ASP.NET Core MVC — customer + admin Razor views
SignalRApi/ # Web API + SignalR hub broadcasting live stats
SignalRConsume/ # Worker consuming SignalR events for the admin dashboard
BusinessLayer/ # Service / Manager classes — business rules
DataAccessLayer/ # EF Core repositories + DbContext
EntityLayer/ # Domain entities
DTOLayer/ # DTOs for API + view boundary
| Layer | Technology |
|---|---|
| Runtime | ASP.NET Core MVC + Web API |
| Architecture | N-tier (Layered) |
| Persistence | Entity Framework Core |
| Auth | ASP.NET Core Identity |
| Real-time | SignalR — live admin-dashboard stats |
| UI | Razor views + Bootstrap |
dotnet restore
dotnet ef database update -p DataAccessLayer -s presentationLayer
dotnet run --project presentationLayer
# admin panel at /Admin (login with seeded credentials)- N-tier layer separation (entity → DAL → BAL → presentation → DTO)
- SignalR hub-based broadcasting + dashboard subscription
- ASP.NET Core Identity authentication and role-based authorization
- Razor MVC with partial views and ViewComponents
- Cross-project communication: SignalRApi → SignalRConsume → MVC live UI
Built by Ali Kalantari — Backend Developer specialising in regulated fintech systems (.NET, Python, multi-database, event-driven). This is a learning project alongside production work.