Awesome
ABP Framework
🔹 🔹 🔹 🔹 🔹 🔹 🔹 🔹
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.
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:
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.
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.
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 :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.