The solution is layered based on Domain Driven Design principles and patterns to isolate your business logic from the infrastructure and integrations and to maximize code maintainability and reusability. ABP Framework already provides abstractions, base classes and guides to truly implement DDD for your application.
We love different ways to create the User Interface. This startup solution provides three different UI framework options for your business application.
You have two database provider options (in addition to using both in a single application). Use Entity Framework Core to work with any relational database and optionally use Dapper when you need to write low-level queries for better performance. MongoDB is another option if you need to use a document-based NoSQL database. While these providers are well-integrated, abstracted and pre-configured, you can actually interact with any database system that you can use with .NET.
Modularity is a first-class citizen in the ABP platform. All the application functionalities are split into well-isolated optional modules. The startup solution already comes with the fundamental ABP modules pre-installed. You can also create your own modules to build a modular system for your own application.
The solution has been fully configured to support multi-tenant systems. It allows the tenants to share or have their own databases with on-the-fly database creation and migration system.