Microservice Solution: Overview

In this document, you will learn what the Microservice solution template offers to you.

The Big Picture

TODO: Prepare a diagram of the fundamental components of the system.

Pre-Installed Libraries & Services

All the following libraries and services are pre-installed and configured for both of development and production environments. After creating your solution, you can change to remove most of them.

Pre-Configured Features

The following features are built and pre-configured for you in the solution.

  • Authentication is fully configured based on best practices;
    • JWT Bearer Authentication for microservices and applications.
    • OpenId Connect Authentication, if you have selected the MVC UI.
    • Authorization code flow is implemented, if you have selected a SPA UI (Angular or Blazor WASM).
    • Other flows (resource owner password, client credentials...) are easy to use when you need them.
  • Permission (authorization), setting, feature and the localization management systems are pre-configured and ready to use.
  • Background job system with RabbitMQ integrated.
  • BLOB storge system is installed with the database provider and a separate database.
  • On-the-fly database migration system (services automatically migrated their database schema when you deploy a new version)
  • Infrastructure dependencies are configured via docker-compose for running the solution in local environment.
  • Helm charts are included to deploy the solution to Kubernetes.
  • Swagger authentication is configured to test the authorized HTTP APIs.
  • Configured the Inbox & Outbox patterns for distributed event bus.

Fundamental Modules

The following modules are pre-installed and configured for the solution:

  • Account to authenticate users (login, register, two factor auth, etc)
  • Identity to manage roles and users
  • OpenIddict (the core part) to implement the OAuth authentication flows

In addition these, Feature Management, Permission Management and Setting Management modules are pre-installed as they are the fundamental feature modules of the ABP Framework.

Optional Modules

The following modules are optionally included in the solution, so you can select the ones you need:

UI Theme

The LeptonX theme is pre-configured for the solution. You can select one of the color palettes (System, Light or Dark) as default, while the end-user dynamically change it on the fly.

Other Options

Microservice startup template asks for some preferences while creating your solution.

Database Providers

There are two database provider options are provided on a new microservice solution creation:

UI Frameworks

The solution comes with a main web application with the following UI Framework options:

  • None (doesn't include a web application to the solution)
  • Angular
  • MVC / Razor Pages UI
  • Blazor WebAssembly
  • Blazor Server
  • MAUI with Blazor (Hybrid)

The Mobile Application

If you prefer, the solution includes a mobile application with its dedicated API Gateway. The mobile application is fully integrated to the system, implements authentication (login) and other ABP features, and includes a few screens that you can use and take as example. The following options are available:

  • None (doesn't include a mobile application to the solution)
  • MAUI
  • React Native

Multi-Tenancy & SaaS Module

The SaaS module is included as an option. When you select it, the multi-tenancy system is automatically configured. Otherwise, the system will not include any multi-tenancy overhead.

Next

See Also

Contributors


Last updated: December 21, 2023 Edit this page on GitHub

Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

In this document
Community Talks

Building Modular Monolith Applications Using .NET and ABP Framework

17 Oct, 17:00
Online
Watch the Event
Mastering ABP Framework Book
Mastering ABP Framework

This book will help you gain a complete understanding of the framework and modern web application development techniques.

Learn More