ABP.IO Open-Source Web Application Framework for Asp.Net Core

MULTIPLE UI OPTIONS

The core framework is designed as UI independent and can work with any type of UI system, while there are multiple pre-built and integrated options are provided out of the box.

  • Angular

  • ASPNet MVC

  • Blazor

MULTIPLE DATABASE PROVIDERS

The framework can work with any data source, while the following providers are officially developed and supported;

  • Entity Framework

  • Mongo DB

  • Dapper

MODULARITY

ABP provides a complete infrastructure to build your own application modules those may have entities, services, database integration, APIs, UI components and so on.

See the module development document for more information

MULTI-TENANCY

ABP framework not only supports to develop multi-tenant applications, but also makes your code mostly unaware of the multi-tenancy.

Can automatically determine the current tenant, isolate data of different tenants from each other.

Supports single database, database per tenant and hybrid approaches.

You focus on your business code and let the framework to handle multi-tenancy on behalf of you.

See the multi-tenancy document for more information.

DYNAMIC FORMS

Dynamic form & input tag helpers can create the complete form from a C# class as the model.

See the dynamic forms document for more information.

VIRTUAL FILE SYSTEM

The Virtual File System makes it possible to manage files those do not physically exist on the file system (disk). It's mainly used to embed (js, css, image, cshtml...) files into assemblies and use them like physical files on runtime.

See the virtual file system document for more information.

THEMING

Theming system allows to develop your application & modules theme independent by defining a set of common base libraries and layouts, based on the latest Bootstrap framework.

See the theming document for more information.

BACKGROUND JOBS

Define simple classes to execute jobs in background as queued. Use built-in job manager or integrate your own. Hangfire & RabbitMQ integrations are already available.

See the background jobs document for more information.

DOMAIN DRIVEN DESIGN INFRASTRUCTURE

A complete infrastructure to build layered applications based on the Domain Driven Design patterns & principles;

See the domain driven design document for more information.

AUTO REST APIS

ABP can automagically configure your application services as API Controllers by convention.

See the auto API controllers document for more information.

DYNAMIC CLIENT PROXIES

Easily consume your APIs from JavaScript and C# clients.

See the dynamic client proxy documentations for JavaScript & C#.

DISTRIBUTED EVENT BUS WITH RABBITMQ INTEGRATION

Easily publish & consume distributed events using built-in Distributed Event Bus with RabbitMQ integration available.

See the distributed event bus document for more information.

BLOB STORING

BLOB Storing system provides an abstraction to work with BLOBs. ABP provides some pre-built storage provider integrations (Azure, AWS, File System, Database, etc.) that you can easily use in your applications.

See the BLOB Storing document for more information.

TEXT TEMPLATING

Text templating is used to dynamically render contents based on a template and a model (a data object). For example, you can use it to create dynamic email contents with a pre-built template.

See the Text Templating document for more information.

TEST INFRASTRUCTURE

The framework has been developed unit & integration testing in mind. Provides you base classes to make it easier. Startup templates come with pre-configured for testing.

See the testing document for more information.

AUDIT LOGGING & ENTITY HISTORIES

Built-in audit logging for business-critical applications. Request, service, method level audit logging and entity histories with property-level details.

See the audit logging document for more information.

EMAIL & SMS ABSTRACTIONS WITH TEMPLATING SUPPORT

IEmailSender and ISmsSender abstractions decouples your application logic from the infrastructure. Advanced email template system allows to create & localize email templates and easily use whenever needed.

See the emailing and SMS sending documents for more information.

LOCALIZATION

Localization system allows to create resources in plain JSON files and use them to localize your UI. It supports advanced scenarios like inheritance, extensions and JavaScript integration while it is fully compatible with AspNet Core's localization system.

See the localization document for more information.

SETTING MANAGEMENT

Define settings for your application and get values on runtime based on the current configuration, tenant and user.

See the settings document for more information.

EXTENSION METHODS & HELPERS

Don't repeat yourself even for trivial code parts. Extensions & helpers for standard types makes your code much cleaner and easy to write.

See the Extension methods & helpers document for more information.

ASPECT ORIENTED PROGRAMMING

Provides a comfortable infrastructure to create dynamic proxies and implement Aspect Oriented Programming. Intercept any class and execute your code before & after every method execution.

See the aspect oriented programming document for more information.

DEPENDENCY INJECTION BY CONVENTIONS

No need to register your classes to dependency injection manually. Automatically registers common service types by convention. For other type of services, you can use interfaces and attributes to make it easier and in-place.

See the dependency injection document for more information.

DATA FILTERING

Define and use data filters those are automatically applied when you query entities from database. Soft Delete & MultiTenant filters are provided out of the box when you implement simple interfaces.

See the data filtering document for more information.

Check out ABP.IO website for more details.

Our team of ABP.IO developers is available for development engagements. Contact us for free consultation.