pesto-students / batch-11-relayer

Relayer is a API bridge, which conncet between app and help you automate things
https://relayer.netlify.com/
MIT License
0 stars 1 forks source link

Setup mono-repo #1

Open nimish-gupta opened 4 years ago

nimish-gupta commented 4 years ago

Discuss mono-repo/multi-repo. Check the pros and cons of both the formats.

souravdasslg commented 4 years ago

I prefer to have mono-repo when:

  1. Either I'm are using templating engine based frontend, or have SSR implemented.
  2. I don't have to worry about the complexity of communication between frontend-backend.
  3. If you are in the MVP stage, this might help you to move a bit faster.

Cons of Mono-Repo:

  1. Mono-repo is a single point of failure. If you don't have a fault-tolerant system, the blackout will be throughout the system.
  2. Resource distribution is not fair if you ask me. There is no option for optimizing frontend-heavy and backend heavy services.

    And must use cases for multi-repo:

  3. CI/CD based build & deploy architecture.
  4. You have a considerable number of the component in your application
  5. Perform automated test efficiently. For example, on updating the frontend view, there is no need for a backend unit-test. 4.Very frequent modification of functionality.

Cons:

  1. It costs simplicity and money.
  2. You have to spend a considerable amount of time to keep things in sync.
nimish-gupta commented 4 years ago

Resource distribution is not fair if you ask me. There is no option for optimizing frontend-heavy and backend heavy services.

For this, you can use micro-serivce architecture which is generally used in the mono-repos.

Mono-repo is a single point of failure. If you don't have a fault-tolerant system, the blackout will be throughout the system.

Can you please explain this furthermore? I think you are confused between monolith and mono-repo architecture.

souravdasslg commented 4 years ago

Can you please explain this furthermore? I think you are confused between monolith and mono-repo architecture.

Yes,I'm completely confused. I have always considered mono-repo as monolith also. Even some reading, the differences are still very subtle for me. If "monolithic" stands for "composed all in one piece", then the mono-repo does the same right? Except for the fact that multiple projects are contained under a single repository.