Customer Relationship Management — Complete Source Code
A production-ready CRM application to manage contacts, companies, sales pipeline, leads, and customer relationships. Built with .NET 10, ASP.NET Core, Blazor Server, MudBlazor, and Vertical Slice Architecture.

Every business needs to manage customer relationships — but fragmented tools, manual tracking, and disconnected data cost time and revenue.
Sales teams store contacts in spreadsheets, email inboxes, and personal notes. No central source of truth means missed follow-ups, duplicate entries, and lost opportunities. Blazor CRM centralizes all contact, company, and deal data in one searchable, organized system with complete history tracking.
Without a structured pipeline, managers cannot forecast revenue or identify bottlenecks. Deals get stuck without anyone noticing. Blazor CRM provides a visual sales pipeline with deal stages (Prospecting, Qualification, Proposal, Negotiation, Closed Won/Lost) so you always know where every deal stands.
Critical follow-ups slip through the cracks when there is no logging system. Blazor CRM tracks every activity — calls, emails, meetings, notes — and links them to contacts and deals. Complete activity timeline for every customer relationship.
Without dashboards and reports, management flies blind. Blazor CRM includes KPI dashboards with charts and summary cards showing pipeline value, win rate, conversion metrics, and sales performance — all powered by EF Core aggregation queries.
Complete end-to-end business features — every module is a complete vertical slice with endpoint, handler, validator, and EF Core queries.
Personal Info, Password, Avatar, Session
Campaign, Budget, Expense, Lead, Lead Contacts, Lead Activities, Sales Team, Sales Representative
Customer Group, Customer Category, Customer, Customer Contact, Vendor Group, Vendor Category, Vendor, Vendor Contact
Quotation, Sales Order, Delivery Order, Sales Return, Invoice, Credit Note, Payment, Sales Report, Delivery Report, Return Report, Invoice Report, Payment Report
Requisition, Purchase Order, Goods Receive, Purchase Return, Bill, Debit Note, Payment, Purchase Report, Receive Report, Return Report, Bill Report, Payment Report
Unit Measure, Product Group, Product, Warehouse, Transfer Out, Transfer In, Positive/Negative Adjustment, Scrapping, Stock Count, Transaction Report, Stock Report, Movement Report
Booking Group, Booking Resource, Booking Manager, Scheduler, Program Resource, Program Manager, To-Do List
Database log, File log
Users, Currencies, Auto Number
full inspection mode for appsettings.json
Blazor CRM is built on the modern .NET ecosystem with production-grade libraries and tools.
| Layer | Technology |
|---|---|
| Framework | .NET 10 |
| Web Framework | ASP.NET Core 10 |
| UI Rendering | Blazor Server (SignalR-based real-time UI) |
| UI Component Library | MudBlazor (Material Design components for Blazor) |
| Architecture Pattern | Vertical Slice Architecture (VSA) + CQRS via MediatR |
| API Style | ASP.NET Core Minimal APIs with Swagger/OpenAPI |
| Data Access | Entity Framework Core 10 (Code-First, Migrations, Compiled Queries) |
| Database | SQL Server (fully tested) / PostgreSQL (scaffolded) |
| Validation | FluentValidation |
| Authentication | ASP.NET Core Identity + JWT Bearer Token |
| Authorization | Role-Based (RBAC) + Policy-Based Authorization |
| Real-Time | SignalR (built into Blazor Server) |
Blazor CRM uses Vertical Slice Architecture (VSA) with CQRS via MediatR — the modern, maintainable approach to building .NET applications.
Each feature (Create Contact, Get Deal, Update Lead, etc.) lives in its own folder with its Minimal API endpoint, MediatR handler (Command or Query), FluentValidation validator, and EF Core queries all in one place. Zero coupling between features. Add a feature without touching unrelated code.
Folder structure: Features/Contacts/CreateContact/ contains endpoint, handler, validator, DTO, and mapping — everything for that single operation.
Commands (writes) and Queries (reads) are separated into distinct MediatR handlers. Read queries use EF Core no-tracking for maximum performance. Command handlers encapsulate business logic with full change tracking. Pipeline behaviors handle cross-cutting concerns like validation, logging, and transactions.
Example: GetContactByIdQuery uses .AsNoTracking(). CreateContactCommand uses full change tracking with validation pipeline behavior.
The entire application — Blazor UI, REST API, business logic, data access, and authentication — lives in one .NET 10 project. No distributed complexity, no microservice overhead. Single F5 to run. Deploy as one unit to Azure, IIS, or Docker. Perfect for teams that value simplicity and velocity.
BlazorCRM/
├── Features/ # Vertical Slices (one folder per feature)
│ ├── Contacts/
│ │ ├── CreateContact/ # Endpoint + Handler + Validator + DTO
│ │ ├── GetContactById/
│ │ ├── GetContactList/
│ │ ├── UpdateContact/
│ │ └── DeleteContact/
│ ├── Companies/
│ ├── Deals/
│ ├── Leads/
│ ├── Activities/
│ └── Dashboard/
├── Infrastructure/ # Cross-cutting: Auth, Audit, EF Core
├── Migrations/ # EF Core migrations
├── SeedData/ # Initial seed data (demo users, sample data)
├── Components/ # Shared Blazor components
├── wwwroot/ # Static assets
└── Program.cs # Single entry point with full configuration
Security is baked into the architecture from the ground up — not bolted on as an afterthought.
Blazor CRM ships with a fully configured authentication and authorization system. ASP.NET Core Identity manages users and roles with secure password hashing. JWT (JSON Web Token) authentication protects all REST API endpoints, while cookie-based authentication handles Blazor Server UI access. Both schemes run simultaneously.
Role-based access control (RBAC) restricts features by user role: Admin (full access), Manager (team-level access), and User (self-service). Policy-based authorization provides fine-grained control for sensitive operations like deal approval or financial reports.
With Blazor Server, source code and connection strings never leave the server. All data access happens server-side via SignalR — zero exposure of database credentials or business logic to the client.
Blazor CRM exposes a complete REST Web API for all entities — ready for mobile apps, third-party integrations, and external systems.
Every feature exposes REST endpoints via ASP.NET Core Minimal APIs. All endpoints are JWT-protected and return proper HTTP status codes.
Same pattern applies to all entities: Companies, Deals, Leads, Activities, and Dashboard aggregations.
/swaggerEF Core migrations, seed data, and flexible deployment options — ready to run in under 60 seconds.
Explore the Blazor CRM interface — dashboards, contact management, sales pipeline, and more.
Test every feature before you buy. No registration required.
Complete, unrestricted C# source code. Single .NET 10 project. Clone, F5, run.
Secure checkout via Lemon Squeezy. Lifetime access. No subscription.
Program.cs.