Technology RadarTechnology Radar
Established

In Optibus, we are generally following a monorepo approach for our projects. Different product modules are organized as a monorepo each, as in our eyes this offers several benefits:

  1. More efficient code sharing and reusability.
  2. Consistent development environment.
  3. Easier cross-project refactoring.
  4. Improved collaboration.
  5. Simplified Dependency Management: In our monorepo, we can manage dependencies at the repository level, simplifying the process of keeping everything up to date and avoiding version conflicts.
  6. Streamlined CI/CD Pipeline: A single CI/CD pipeline that can build and test all our projects simultaneously. This, of course, comes with the drawback of a more complicated CI/CD setup and potentially longer running pipelines.
  7. Better Code Ownership: It's easier to determine who is responsible for each part of the codebase, which can improve code ownership and accountability.
  8. Simplified Testing: We can set up end-to-end tests and integration tests that cover the entire application more easily in a monorepo, ensuring that changes in one part of the codebase don't break other parts.
  9. Codebase Navigation: Developers can easily navigate through different parts of the codebase without having to switch between multiple repositories or projects.