Skip to main content

[ADR-1] Use Monolithic Frontend

Context and Problem Statement​

We consider two different ways of building our frontend: either a micro frontend, or a monolithic frontend.

Considered Options​

  • micro frontend
  • monolithic frontend

Decision Outcome​

Chosen option: "monolithic frontend", because

  • with the given resources (5 developers) and experiences, a monolithic frontend is easier to implement and thus allows us to focus on more important aspects

Consequences​

  • Good, because we do not need to consider requirements of a micro frontend with respect to the API gateway
  • Neutral, because there is a single repository for the frontend.
  • Good, because the frontend tech stack can be chosen rather freely. We decided to use Vue with Vuetify to create a single page web application.
  • Neutral, because all services have to support the API gateway for the frontend.
  • Bad, because results in whole stack not being "micro" end-to-end

Pros and Cons of the Other Options​

Micro frontend​

  • Good, because would result in our whole stack to be "micro" from end-to-end
  • Good, because would frontends of services to be developed independently
  • Bad, because more difficult to implement, in particular with regard to given resources
  • Bad, because there are several frontend components, which are not clearly associated with a specific backend service