/abpFramework-netcore

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 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, pre-built application modules, UI themes, tooling, guides and documentation to implement that architecture properly and automate the details and repetitive works as much as possible.

ABP Platform

Getting Started

  • The Getting Started guide can be used to create and run ABP-based solutions with different options and details.
  • 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.
  • Web Application Development Tutorial is a complete tutorial on developing a full-stack web application with all aspects of a real-life solution.
  • Modular Monolith Application: A multi-part tutorial that demonstrates how to create application modules, compose and communicate them to build a monolith modular web application.

What ABP Provides?

ABP bridges the gap between ASP.NET Core and real-world business application requirements, and makes you focus on your own business code.

The following diagram contains the core components of the ABP Platform and shows how ABP sits between ASP.NET Core and Your Application:

abp-overall-diagram

Architecture

ABP offers a complete architectural model to build modern enterprise software solutions. Here, the fundamental architectural structures offered and first-class supported by ABP:

Infrastructure

There are a lot of infrastructure 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, and much more.

See ABP Framework features

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.

Some examples:

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

See all official 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.

Tooling

ABP provides CLI and UI tools to simplify your daily development work flows.

ABP Studio

ABP Studio is a cross-platform desktop application for ABP developers.

It is well integrated to the ABP Framework and aims to provide a comfortable development environment for you by automating things, providing insights about your solution, making develop, run and deploy your solutions much easier.

ABP Suite

ABP Suite allows you to automatically generate web pages in a matter of minutes.

ABP CLI

ABP CLI is a command line tool to perform common operations for ABP based solutions.

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 central hub to publish articles and share knowledge about the ABP Framework.

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.