Open Source | 237+ GitHub Stars | 100% Free

Free CRM: Open Source
.NET 9 · Clean Architecture · CQRS · MediatR

This is not just about coding. This is software engineering — blending enterprise architecture with real business needs. Learn how to build a production-grade CRM application with Clean Architecture — free and open source.

237+

GitHub Stars

.NET 9

Latest & Greatest

100%

Open Source

50+

Features

7

Pipeline Stages

About

What Is Free CRM?

Free CRM is an open-source Customer Relationship Management software designed to help businesses manage campaigns, leads, budgets, expenses, and sales teams efficiently.

Built with .NET 9 ASP.NET Core using Clean Architecture, CQRS, and MediatR — this project is a real-world example of how good software engineering blends enterprise architecture with business requirements.

Ideal for solo entrepreneurs, small businesses, startups, and enterprises beginning their digital transformation journey.

Username: admin@root.com
Password: 123456

Quick Facts

  • 100% Open Source — MIT License, free to use and modify
  • Monolithic Clean Architecture — Single codebase, zero dependency nightmare
  • CQRS + MediatR — Clean separation of commands and queries
  • Entity Framework Core — Data access with migrations and seed data
  • Vue.js Without Build System — Interactive frontend without Webpack, Vite, or npm
  • ASP.NET Identity + JWT — Production-ready authentication out of the box
Architecture

Monolithic Clean Architecture

Free CRM uses the Monolithic Clean Architecture approach — combining the power of Clean Architecture with the simplicity of a monolith.

Simplified Dependencies

All components live in a single codebase. Dependency management becomes straightforward with no risk of dependency hell. All NuGet packages are centralized and compatible.

Simplified Deployment

Single repository, single pipeline, single deployable unit. No complex orchestration required. Deploy to IIS, Azure App Service, or Docker with ease.

Cohesive Structure

Consistent and clear source code patterns. New developers can understand the project structure in hours, not weeks. Clean Architecture makes the code easy to maintain.

Free CRM Clean Architecture Structure

// Free CRM - Monolithic Clean Architecture Structure
FreeCRM/
├── Application/ // Business Logic Layer
│ ├── Commands/ // CQRS Commands
│ ├── Queries/ // CQRS Queries
│ ├── Interfaces/ // Repository Interfaces
│ └── Mappings/ // AutoMapper Profiles
├── Domain/ // Enterprise Core
│ ├── Entities/ // Domain Entities
│ └── Common/ // Base Classes
├── Infrastructure/ // Data Access Layer
│ ├── Data/ // EF Core DbContext
│ ├── Migrations/ // Database Migrations
│ └── Repositories/ // Repository Implementation
├── Presentation/ // UI Layer
│ ├── Controllers/ // API Endpoints
│ ├── Pages/ // Razor Pages
│ └── wwwroot/ // Static Files + Vue.js
└── Program.cs // Entry Point

Command Handler (CQRS)

public class CreateLeadCommand : IRequest<Unit>
{
    public string CompanyName { get; set; }
    public string Description { get; set; }
    public decimal TargetedAmount { get; set; }
}

public class CreateLeadHandler : IRequestHandler<CreateLeadCommand, Unit>
{
    private readonly IRepository<Lead> _repository;

    public async Task<Unit> Handle(
        CreateLeadCommand request,
        CancellationToken cancellationToken)
    {
        var lead = new Lead(request.CompanyName);
        _repository.Add(lead);
        return Unit.Value;
    }
}

FluentValidation

public class CreateLeadValidator : AbstractValidator<CreateLeadCommand>
{
    public CreateLeadValidator()
    {
        RuleFor(x => x.CompanyName)
            .NotEmpty().WithMessage("Company name is required")
            .MaximumLength(200);

        RuleFor(x => x.TargetedAmount)
            .GreaterThan(0).WithMessage("Amount must be positive");
    }
}
Features

Complete CRM Features

Over 50 end-to-end features ready to use — from campaign management to sales order.

Dashboard Overview

Widgets and charts for total campaign costs, target revenue, budget & expenses, closed won leads, sales funnel stages, and lead activity tracking.

Campaign Management

Auto-generated campaign number, start & finish dates, target revenue, campaign status, sales team assignment, and budget & expense breakdown on a single page.

Budget Management

Auto-generated budget number, date & amount, related campaign lookup, status, and description. Manage budgets with full transparency.

Expense Management

Auto-generated expense number, date & amount, campaign lookup, status, and description. Track every business expense efficiently.

Lead Management

Auto-generated lead number, company info, BANT score (Budget, Authority, Need, Timeline), pipeline stages, goals & status, and sales team assignment.

Contacts & Activities

Store multiple contacts per lead. Record activities: email, phone call, meeting, event, social media, and others. Complete interaction history tracking.

Sales Team Management

Manage sales teams and representatives. Assign leads & campaigns to team members. Track closing performance per sales team.

Sales Order & Purchase Order

Complete Sales Order and Purchase Order modules with tracking and reporting. Manage sales and procurement in one application.

Why Clean Architecture?

Software Engineering Is Not Just Coding

Many beginner programmers think building enterprise applications is just about writing code. The reality is that software engineering is about designing architectures that scale, are easy to maintain, and align with business needs.

❌ Common Beginner Mistakes

  • All logic written in a single Controller or Page file
  • Database code (SQL/EF Core) mixed with UI code
  • No separation of concerns — everything becomes spaghetti code
  • Testing becomes a nightmare because everything is tightly coupled
  • Adding new features breaks existing functionality

✅ What Free CRM Teaches with Clean Architecture

  • Separation of Concerns — Application, Domain, Infrastructure, Presentation clearly separated
  • CQRS Pattern — Commands and Queries separated, each optimized independently
  • Repository Pattern — Data access abstraction, swap databases without changing logic
  • MediatR Pipeline — Validation, logging, transaction handling without polluting business logic
  • Testable Architecture — Every layer can be tested independently

🔀 For PHP, Java, Go, Python Developers

Are you a PHP Laravel, Java Spring, Go, or Python Django developer curious about how Clean Architecture is implemented in .NET?

Free CRM is the perfect learning bridge. Concepts like Repository Pattern, CQRS, Dependency Injection, and Separation of Concerns are universal across all programming languages.

What sets .NET apart is its exceptional tooling — Visual Studio, IntelliSense, lightning-fast debugging, and a mature NuGet ecosystem. By studying Free CRM, you not only learn .NET, but also architectural patterns you can apply in any language.

Language Comparison
PHP (Laravel) Repository Pattern, Service Provider
Java (Spring) DI Container, AOP, JPA Repository
Go Interface, Clean Architecture
Python (Django) DRF, Repository Pattern
.NET (Free CRM) MediatR + CQRS + Clean Arch
Tech Stack

POWERED by .NET 9

Free CRM combines the best technologies from the .NET ecosystem and open source.

ASP.NET Core 9.0 Clean Architecture CQRS + MediatR Entity Framework Core AutoMapper FluentValidation Serilog ASP.NET Identity + JWT Razor Pages Vue.js (no build) Syncfusion UI AdminLTE

🎯 Why Monolithic Clean Architecture?

Many developers jump straight to microservices without understanding that 90% of applications don't need microservices. Monolithic Clean Architecture gives you:

  • Simplicity — One project, one solution, one deployment
  • Performance — No network overhead between services
  • Developer Experience — Faster debugging, testing, and onboarding
  • Atomic Transactions — EF Core transactions span all operations

⚡ .NET 9 Performance

.NET 9 is the fastest version of .NET ever. With thousands of improvements in runtime, JIT compiler, and garbage collection, Free CRM runs with exceptional performance.

  • Native AOT — Compile to native code for lightning-fast startup
  • Minimal API — Lightweight, fast REST endpoints
  • EF Core 9 — Queries 2-3x faster than previous versions
  • Cross Platform — Windows, Linux, macOS, and Docker
For Developers

What You Can Learn

Free CRM is not just an application — it's an interactive textbook on enterprise software engineering.

Clean Architecture

Understand how Application, Domain, Infrastructure, and Presentation interact. See real implementation, not theoretical diagrams.

CQRS + MediatR

Learn how to separate read and write operations. See how pipeline behaviors handle validation, logging, and transactions cleanly.

EF Core + Migrations

See how EF Core handles data access with migrations, seed data, and query optimization, including Repository Pattern implementation.

Auth + Security

ASP.NET Identity with JWT authentication, role-based access control, and policy-based authorization. Enterprise-grade security.

🎯 Challenge Yourself!

Experience the blazing speed of .NET 9 and see how Clean Architecture works in a real CRM application. Try the live demo now — free, no registration required.

Get Started

Run Free CRM in 60 Seconds

Thanks to Monolithic Clean Architecture, everything is in one project. Clone, build, run!

Using Visual Studio

  1. 1 Clone the repository: git clone https://github.com/go2ismail/Free-CRM.git
  2. 2 Open with Visual Studio 2022+
  3. 3 Update the connection string in appsettings.json
  4. 4 Clean & Build the solution
  5. 5 Press F5 — the database will be created automatically!

Deploy to IIS Web Server

  1. 1 Publish the project: Right-click project → Publish
  2. 2 Choose an output folder
  3. 3 Copy files to your IIS directory
  4. 4 Configure IIS and database connectivity
  5. 5 Done! Your application is ready for production!

💡 Note: Thanks to Monolithic Clean Architecture, frontend and backend are in a single deployable unit. No separate setup needed!

Acknowledgments

Powered by Open Source

Free CRM thanks the open source community that makes this project possible.

Syncfusion

Community Edition — powerful, free enterprise-grade UI components.

AdminLTE

Responsive, modern admin template. Licensed under MIT.

Open Source Community

Thanks to 237+ stargazers and all contributors for their support.

FAQ

Frequently Asked Questions

Free CRM is an open source project built with Razor Pages + Vue.js and Syncfusion UI (community edition). Indotalent's paid products use Blazor Server + MudBlazor with Vertical Slice Architecture. However, the Clean Architecture and CQRS concepts you learn from Free CRM are 100% relevant and directly transferable.
Not necessarily. If you're coming from PHP, Java, Go, or Python, you'll find many familiar concepts: Dependency Injection (like Laravel's Service Provider or Spring DI), Repository Pattern, and MVC. Free CRM is the perfect introduction to learning .NET while studying good enterprise architecture.
BANT is a popular lead qualification framework in sales: Budget, Authority, Need, Timeline. Free CRM implements BANT scoring to help sales teams prioritize the most promising leads.
Yes! Free CRM is production-ready with ASP.NET Identity + JWT for security, EF Core migrations for database management, and Serilog for logging. It can be deployed to IIS, Azure App Service, or Docker. For more complex enterprise needs, our Blazor CRM product offers more advanced features.
Using Vue.js via CDN without a build system is an intentional design choice. It makes Vue.js accessible to developers who are not familiar with frontend tooling (Webpack, Vite, npm). Simply add a script tag to your HTML — zero configuration, zero build step. This is a common practice in ASP.NET Core Razor Pages projects.
Get Started Now

Ready to Learn Enterprise Software Engineering?

Free CRM is the perfect starting point. Clone the repository, study the code, understand the architecture, and apply what you learn to your own projects. 100% free, 100% open source.