Monorepo & One Lingua Franca: TypeScript
Building a Web App Series: Issue #2
I guess the first technical decision when building a web app is: where will it live? Traditionally, there were 2 options: a monorepo or multi repositories. But I have seen it, and it’s possible to have a hybrid. Use a monorepo for some projects and also other multiple repositories, each one for a single project. I’m choosing the monorepo model, but I can always go hybrid and have some projects in their own repository if things change. What follows is why and how it may look like it.
But, first, a little digression.
What is a monorepo?
A monorepo is a source code repository that contains many projects. Traditionally software has been split into multiple projects, and each one gets its own folder and source control history. A monorepo is a single folder with many other sub-folders where each one is a project in itself. Usually, there is one single source control history, but there are alternative setups.
A few more definitions for what follows:
- Web App: the UI that the user interacts with
- Project: source code for an application
- Application: source code that is up and running. That’s a crude explanation, but it seems clear. This would be a web server, a…