0

Would you ever ship backoffice admin UI functionality together in the same distribution package as the public client functionality?

For instance - you are building a public web application for ServiceCorp-A. The public web application will be used by ServiceCorp-A clients. However, ServiceCorp-A also needs an Admin UI to access and control the same database that the public web application uses.

Also note that ServiceCorp-A has 10 users while their clients will number in the thousands.

Is there any reason to package all the screens from the Admin UI and all the screens from the Clients UI into the same web application (a single page app) and make them available through the same URL?

What if some of the screens look very similar or behave similarly?

2

Would you ever ship backoffice admin UI functionality together in the same distribution package as the public client functionality?

Maybe, if combining the admin application and the public web application does not incur a huge performance penalty in loading the assets (HTML, JS, CSS, Images, etc).

Why I might want to keep them separate:

  1. Usually, admin tools have very different set of functionalities from the main app. They are targeted at different users - a product administrator vs your consumers. This tends to become more obvious overtime.

  2. Because they are targeted at different users, they tend to change for different reasons and at different speeds. It's hard to keep a consistent deployment cadence.

  3. You might eventually want to have different teams of engineers working on these different sets of codebases.

What if some of the screens look very similar or behave similarly?

You can solve this problem by having a reusable UI component library. Different applications can then share the same components without being tightly coupled to each other.

| improve this answer | |
  • Thanks @shawn-lim - I'm happy to report that the people who are tasked with making the decision followed advice to at least keep the UI separate. – Wayne Bloss Dec 16 '19 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.