ABP Framework offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET and the ASP.NET Core platforms. It provides the fundamental infrastructure, production-ready startup templates, modules, themes, tooling, guides and documentation to implement that architecture properly and automate the details and repetitive works as much as possible.
- 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.
UI Framework Options
ABP Framework can work with any UI framework, while the following frameworks are supported out of the box:
Database Provider Options
ABP Framework can work with any database provider, while the following providers are supported out of the box:
Exploring the Documentation
ABP has a comprehensive documentation that not only explains the ABP Framework, but also includes guides and samples to help you on creating a maintainable solution by introducing and discussing common software development principle and best practices.
ABP offers a complete, modular and layered software architecture based on Domain Driven Design principles and patterns. It also provides the necessary infrastructure to implement this architecture.
- See the Modularity document to understand the module system.
- Implementing Domain Driven Design book is an ultimate guide for who want to understand and implement the DDD with the ABP Framework.
- Microservice Architecture document explains how ABP helps to create a microservice solution.
- Multi-Tenancy document introduces multi-tenancy and explores the ABP multi-tenancy 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.
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 provides 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.
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
Mastering ABP Framework is an ultimate guide to get started and expertise with the ABP Framework. It is authored by Halil İbrahim Kalkan, the creator and the lead developer of the ABP Framework.
You can order it from Amazon now!
Free E-Book: Implementing Domain Driven Design
A practical guide for implementing Domain Driven Design (DDD). While the implementation details are based on the ABP Framework infrastructure, the basic concepts, principles and models can be applied to any solution, even if it is not a .NET solution.
Click here to get your free copy.
The Source Code
ABP is hosted on GitHub. See the source code.
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!
Follow the ABP Blog to learn the latest happenings in the ABP Framework.
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.