/abp

Open Source Web Application Framework for ASP.NET Core. Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET and the ASP.NET Core platforms. Provides the fundamental infrastructure, production-ready startup templates, application modules, UI themes, tooling, guides and documentation.

Primary LanguageC#GNU Lesser General Public License v3.0LGPL-3.0

ABP Framework

build and test codecov NuGet NuGet (with prereleases) MyGet (nightly builds) NuGet Download Code of Conduct CLA Signed ABP Discord server

ABP Framework is a complete infrastructure based on ASP.NET Core to create modern web applications and APIs by following the software development best practices and the latest technologies. Check out https://abp.io

Getting Started

  • Quick Start is a single-part, quick-start tutorial to build a simple application with the ABP Framework. Start with this tutorial if you want to quickly understand how ABP works.
  • Getting Started guide can be used to create and run ABP based solutions with different options and details.
  • Web Application Development Tutorial is a complete tutorial to develop a full stack web application with all aspects of a real-life solution.

Quick Start

Install the ABP CLI:

> dotnet tool install -g Volo.Abp.Cli

Create a new solution:

> abp new BookStore -u mvc -d ef

See the CLI documentation for all available options.

UI Framework Options

Database Provider Options

The Book: Mastering ABP Framework

Written by the creator of ABP Framework, this book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques.

book-mastering-abp-framework

What ABP Provides?

ABP provides a full stack developer experience.

Architecture

ABP offers a complete, modular and layered software architecture based on Domain Driven Design principles and patterns. It also provides the necessary infrastructure and guidance to implement this architecture.

ABP Framework is suitable for microservice solutions as well as monolithic applications.

Infrastructure

There are a lot of features provided by the ABP Framework to achieve real world scenarios easier, like Event Bus, Background Job System, Audit Logging, BLOB Storing, Data Seeding, Data Filtering, etc.

Cross Cutting Concerns

ABP also simplifies (and even automates wherever possible) cross cutting concerns and common non-functional requirements like Exception Handling, Validation, Authorization, Localization, Caching, Dependency Injection, Setting Management, etc.

Application Modules

ABP is a modular framework and the Application Modules provide pre-built application functionalities;

  • Account: Provides UI for the account management and allows user to login/register to the application.
  • Identity: Manages organization units, roles, users and their permissions, based on the Microsoft Identity library.
  • OpenIddict: Integrates to OpenIddict.
  • Tenant Management: Manages tenants for a multi-tenant (SaaS) application.

See the Application Modules document for all pre-built modules.

Startup Templates

The Startup templates are pre-built Visual Studio solution templates. You can create your own solution based on these templates to immediately start your development.

ABP Community

ABP Community Web Site

The ABP Community is a website to publish articles and share knowledge about the ABP Framework. You can also create content for the community!

Blog

Follow the ABP Blog to learn the latest happenings in the ABP Framework.

Samples

See the sample projects built with the ABP Framework.

Want to Contribute?

ABP is a community-driven open source project. See the contribution guide if you want to be a part of this project.

Official Links

Support the ABP Framework

Love ABP Framework? Please give a star to this repository ⭐

Discord Channel

You can use this link to join the ABP Community Discord Server: https://discord.gg/abp

ABP Commercial

See also ABP Commercial if you are looking for pre-built application modules, professional themes, code generation tooling and premium support for the ABP Framework.