Open Closed

Guidance on developing new Microservice Modules for Angular #3118

jeflux created
  • ABP Framework version: v5.1.2
  • UI type: Angular / MVC
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes

We're attempting to migrate from MVC to Angular. I'm definitely making some headway, but the microservice development pattern is not clear for Angular.

For instance, when creating a new microservices template, an Angular app is created. This runs out of the box and connects to identity server. Next, I create a new microservice module. When I do this, the solution also creates an Angular app. As I build out this microservice module, I can generate UI code that goes into the Angular app of the microservice.

For reference, I looked at: I noted that there is an Angular app under the apps folder for the entire solution. The individual services do not have their own Angular apps. In the one Angular app, two services are listed under "projects".

What is the process for getting all microservices into a single Angular app?

  • Should I be generating UI code against the microservice module Angular app? This makes sense since this would allow us to develop an individual service in isolation. But then how do I to get this module's UI into the "main" Angular app?
  • Or, should I be generating UI code against the "main" Angular app (Modify the ABP suite settings to point the Angular app path to main app)?

1 Answer(s)
  • 0
    gterdem created
    Support Team

    The Angular application is the back-office (admin) application for your microservice solution while the MVC application is the landing-page (public) application. See more on Microservice startup template docs.

    You can either develop UI as a monolith or modular. See more on UI development docs. For example, ProductService is a sample for modular UI development for MVC, hosting Web layer inside the microservice. Currently, we do not support modular development for angular. You need to use some libraries like angular module federation or other micro-frontend libraries.