/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. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling 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 🔹 Discord Shield

ABP Framework is a complete infrastructure based on ASP.NET Core that creates modern web applications and APIs by following the software development best practices and the latest technologies.

ABP Platform

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 understand how ABP works quickly.
  • 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 on developing 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

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.

Mastering ABP Framework Book

This book will help you to gain a complete understanding of the ABP Framework and modern web application development techniques. It is written by the creator and team lead of the ABP Framework. You can buy from Amazon or Packt Publishing. Find further info about the book at abp.io/books/mastering-abp-framework.

book-mastering-abp-framework

The 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 participate in this project.

Official Links

Support ABP

GitHub repository stars are an important indicator of popularity and the size of the community. If you like ABP Framework, support us by clicking the star ⭐ on the repository.

Discord Server

We have a Discord server where you can chat with other ABP users. Share your ideas, report technical issues, showcase your creations, share the tips that worked for you and catch up with the latest news and announcements about ABP Framework. Join 👉 https://discord.gg/abp.