Open Closed

Adding DDD module inside a Microservice-based solution #8675


User avatar
0
Ehab@Siemat created
  • ABP Framework version: v9.1

  • UI Type: Angular

  • Database System: EF Core (SQL Server)

  • Tiered (for MVC) or Auth Server Separated (for Angular): yes

Hi,

We are currently working on a Microservice-based solution using the ABP framework and would like to explore adding a Domain-Driven Design (DDD) module to enhance the structure and maintainability of our services. We have a few specific questions:

1- Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution?
2- How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on?
3- Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

and could you please clarify why the public site is being created using Razor, even though Angular was selected as the UI framework?

also according to the ABP login. If we want to login using OTP, should we download and modify the account module as previous versions or there is an update from ABP about this case?

Thanks


18 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    Yes, of course.

    Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution?

    This is the way to add a service to the old microservice template.

    This is the document explaining how to extracting the module as a microservice.

    https://abp.io/docs/commercial/latest/guides/extracting-module-as-microservice

    This is the way to add a service to the new microservice template.

    How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on?

    you can use the suite to add a module project to generate codes.
    image.png

    Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

    Yes, usually, services need to communicate. We have prepared some documents for this.

    The most important thing in microservices is to divide services according to use cases.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    and could you please clarify why the public site is being created using Razor, even though Angular was selected as the UI framework?

    We do not maintain multiple templates. You can choose any UI of your preference as the public website.

    We redesigned the layout of our public website and it will be launched in the next version.
    image.png

    also according to the ABP login. If we want to login using OTP, should we download and modify the account module as previous versions or there is an update from ABP about this case?

    ABP already supports this; when two-factor authentication is enabled, you can choose TOPT.
    https://abp.io/docs/latest/modules/identity/two-factor-authentication#user-side

  • User Avatar
    0
    Ehab@Siemat created

    I need to add a new Angular application to the micro service solution. Could you provide guidance or point me to documentation that covers:

    1. Setting up a new Angular application in the solutions with different Gateway.

    2. integrating the app with the existing services and authentication mechanisms.

    Thanks,

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    HI,

    Sorry your topic is quite big, and I don't know much about your project details.

    Can you ask some specific questions? thanks.

  • User Avatar
    0
    Ehab@Siemat created

    ABP already supports this; when two-factor authentication is enabled, you can choose TOPT.
    https://abp.io/docs/latest/modules/identity/two-factor-authentication#user-side

    Hello,
    Related to this answer, business flow requires to login in either using phone number or email and password so no need to enable two-factor authentication.
    Does abp support login by phone number then send otp to verify this number or not?
    and if it doesn't what is the steps to do a proper workaround?

  • User Avatar
    0
    Ehab@Siemat created

    Hi,

    Yes, of course.

    Can you provide a guidance or an example of how to integrate a DDD module into an existing ABP-based microservice solution?

    This is the way to add a service to the old microservice template.

    This is the document explaining how to extracting the module as a microservice.

    https://abp.io/docs/commercial/latest/guides/extracting-module-as-microservice

    This is the way to add a service to the new microservice template.

    thanks for links, but i was asking about creating a new DDD module and importing it into microservice solution

    How can we use the ABP Suite from the DDD module, as used from microservice module to generate entities, UI and so on?

    you can use the suite to add a module project to generate codes.
    image.png

    i m asking here about using the Abp suite from the the new DDD module i have created.If i have created a new module of type ddd, what shall i do to open the abp suite INSIDE the module and add new entities at module itself?
    like this one

    image.png

    Are there any potential drawbacks or known issues when using a DDD module inside an ABP microservice solution, especially considering challenges related to service boundaries, inter-service communication, or the persistence layer?

    Yes, usually, services need to communicate. We have prepared some documents for this.

    The most important thing in microservices is to divide services according to use cases.

    these links are related to Microservice itself, but what i m asking is about
    If i have created a new microservice solution and added a new module of type DDD (to put my complicated business logic inside) at it, and imported this new module at a another new microservice module
    Is there will be drawbacks or issues that may raise??

  • User Avatar
    0
    Ehab@Siemat created

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Related to this answer, business flow requires to login in either using phone number or email and password so no need to enable two-factor authentication.
    Does abp support login by phone number then send otp to verify this number or not?
    and if it doesn't what is the steps to do a proper workaround?

    no, this is two-factor authentication. if you want login by phone number , you need to implement it yourself. see: https://abp.io/support/questions/8645/Passwordless-OPT-Grant

    i m asking here about using the Abp suite from the the new DDD module i have created.If i have created a new module of type ddd, what shall i do to open the abp suite INSIDE the module and add new entities at module itself?
    like this one

    you can use ABP studio to add it to the microservice solution, then use abp studio to open it.
    The document explains this point.
    https://abp.io/docs/latest/solution-templates/microservice/adding-new-microservices

    If i have created a new microservice solution and added a new module of type DDD (to put my complicated business logic inside) at it, and imported this new module at a another new microservice module Is there will be drawbacks or issues that may raise??

    I think there will be no problem, the module design should be reusable, you can see that the AdministrationService has imported permission modules, setting modules, function modules, etc.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

    Sorry, currently, the ABP CMS kit module's public site only provides MVC UI.
    You need to implement it yourself by calling the CMS kit API. you can download the CMS module source code to refer to the MVC implementation code.

  • User Avatar
    0
    Ehab@Siemat created

    no, this is two-factor authentication. if you want login by phone number , you need to implement it yourself. see: https://abp.io/support/questions/8645/Passwordless-OPT-Grant

    Hello,
    As u can see my application is using angular, so does angular support override login components?

  • User Avatar
    0
    Ehab@Siemat created

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

    Sorry, currently, the ABP CMS kit module's public site only provides MVC UI.
    You need to implement it yourself by calling the CMS kit API. you can download the CMS module source code to refer to the MVC implementation code.

    Hello,
    Does abp support CMS Kit module's admin site to be angular?

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    As u can see my application is using angular, so does angular support override login components?

    Angular uses code flow by default; You usually need to override AuthServer(MVC) pages.
    Both angular components and mvc pages support override

    Does abp support CMS Kit module's admin site to be angular?

    no, also not supported

  • User Avatar
    0
    Ehab@Siemat created

    Hi,

    As u can see my application is using angular, so does angular support override login components?

    Angular uses code flow by default; You usually need to override AuthServer(MVC) pages.
    Both angular components and mvc pages support override

    Is there an example or documentation that can help for overriding the AuthServer please?

  • User Avatar
    0
    Ehab@Siemat created

    also if i want to add a ContactUs page to my Angular public application, how can i do this using CMS kit?

    Sorry, currently, the ABP CMS kit module's public site only provides MVC UI.
    You need to implement it yourself by calling the CMS kit API. you can download the CMS module source code to refer to the MVC implementation code.

    need a documentation for using the CMS kit APIs with creating new UI plz

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Is there an example or documentation that can help for overriding the AuthServer please?

    Here is the document on how to override pages: https://abp.io/docs/latest/framework/ui/mvc-razor-pages/customization-user-interface

    You can get the login page source code via abp suite

    image.png

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    need a documentation for using the CMS kit APIs with creating new UI plz

    Could you please create a question for this. thanks.

  • User Avatar
    0
    Ehab@Siemat created

    and could you please clarify why the public site is being created using Razor, even though Angular was selected as the UI framework?

    We do not maintain multiple templates. You can choose any UI of your preference as the public website.

    We redesigned the layout of our public website and it will be launched in the next version.
    image.png

    Can you please guide me on how to create a public Angular application? I've tried several workarounds, but none of them seem to work.

  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    You can just create a project with angular UI, and delete the modules from the package.json and code.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
Do you need assistance from an ABP expert?
Schedule a Meeting
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.2.0-preview. Updated on March 13, 2025, 04:08