Repositories

How the solution's responsibilities are distributed across multiple repositories and why that separation can be useful.

Why multi-repo?

Splitting repositories can help to:

  • isolate domains
  • enable independent deployments
  • reduce size and noise per repository
  • give each team clear ownership

Main repositories

globalsone-frontend

Contains the SPA and the user experience.

globalsone-api-gateway

Contains the gateway’s configuration and behavior.

globalsone-bff

Contains aggregation, transformation, and frontend-oriented endpoints.

globalsone-ms-{domain}

Contain the business logic of each domain.

globalsone-shared-kernel

Contains types or contracts that are genuinely shared and stable.

Benefits

  • Clearer ownership
  • Independent CI/CD
  • Lower impact from local changes
  • Better organizational separation

Costs

  • More coordination between repos
  • Versioning of shared packages
  • Distributed visibility
  • Greater governance discipline

When it makes sense

It makes the most sense when:

  • there are several well-defined domains
  • multiple teams work in parallel
  • deployments need real independence
  • the organization is ready to govern contracts and standards

Summary

Multi-repo is not a goal in itself. It is an organizational strategy that can bring clarity and independence, as long as it comes paired with good boundaries and good collaboration rules.