open sourceWeb Application
for core

ABP Framework is a complete infrastructure to create modern web applications by following the software development best practices and conventions.

Latest release logs Road Map



Full stack application infrastructure.



Modern architecture to create maintainable software solutions.

Domain Driven Design (DDD)
Based Layering Model

Domain Driven Design

Helps you to implement a DDD based layered architecture and build a maintainable code base.

Provides startup templates, abstractions, base classes, services, documentation and guides to help you to develop your application based on DDD patterns & principles.

See Details



The core framework & pre-build modules are designed with microservice architecture in mind.

Provides infrastructure, integrations, samples and documentation to implement microservice solutions easier, while it doesn’t bring additional complexity if you want a monolithic application.

See Details


ABP provides a module system that allows you to develop reusable application modules, tie into application lifecycle events, and express dependencies between core parts of your system.

Pre-Built Modules & Themes

Pre-Built Modules & Themes

Open source and commercial modules & themes are ready to use in your business application.

NuGet & NPM Packages

NuGet & NPM Packages

Distributed as NuGet & NPM packages. Easy to install and upgrade.



All services & modules are designed extensibility in mind. You can replace services, pages, styles and components.

Don't Repeat Yourself

Don't Repeat

Cross Cutting Concerns

Keep your codebase smaller so you can maintain focus on the code that’s specific to your business.

Don’t send time implementing common application requirements on multiple projects.

  • Authentication & Authorization
  • Exception Handling
  • Validation
  • Database Connection
  • Transaction management
  • Audit Logging
  • Caching
  • Multitenancy
  • Data filtering

Convention Over Configuration

ABP implements common application conventions by default with a minimal or zero configuration.

  • Auto registers known services to dependency injection.
  • Exposes application services as HTTP APIs by naming conventions.
  • Creates dynamic HTTP client proxies for C# and JavaScript.
  • Provides default repositories for your entities.
  • Manages Unit of Work per web request or application service method.
  • Publishes create, update & delete events for your entities.

Base Classes

Pre-built base classes for common application patterns.

//Base class for CRUD services
public class PeopleAppService
    : CrudAppService<Person, PersonDto, Guid>,
    //Generic repository
    public PeopleAppService(
        IRepository<Person, Guid> repository
    ) : base(repository)


ABP is for developers.
It aims to simplify your daily software development while not restricting you from writing low level code.

See All Features

CLI (Command Line Interface)

Includes a CLI to help you automate the creation of new projects and the addition of new modules.

abp new Acme.BookStore -d mongodb

Startup Templates

Various startup templates provide a fully configured solution to jump start your development.

Database Options

The framework can work with any data source, while the following providers are officially developed and supported;

Based on Familiar Tools

Built on and integrated with popular tools you already know. Low learning curve, easy adaptation, comfortable development.

Meet the ABP Community!

Our mission is to create an environment where developers can help each other with articles, tutorials, case studies, etc. and meet like-minded people.

Free DDD E-book

This book is a practical guide for implementing the Domain Driven Design with the ABP Framework.

01 Introducing Domain Driven Design
02 DDD Layers & Clean Architecture
03 Layering of a .NET Solution
04 Implementing DDD Building Blocks
05 Domain Logic vs Application Logic
06 Samples & Discussions