The Composable Commerce Project structure
Regions, Organizations, Projects, Teams, and users are the key features of Composable Commerce you need to know to begin creating your commerce solution.
After completing this page, you should be able to:
- Describe the hierarchy between Regions, Organizations, Projects, Teams, and users.
- Explain the relationships between Regions, Organizations, Projects, Teams, and users.
Regions, Organizations, Projects, Teams, and users play an important role in building your Project structure in Composable Commerce. It's important for you to think about these as steps to follow when creating your commerce solution:
- First, you decide on a Region for your commerce experience.
- Second, you create Organizations.
- Third, within each Organization, you create Projects for your data.
Let's first start with some definitions of these important features.
Key features
- Region
- Every Organization, Project, and user resides within a specific Region. This Region corresponds to an instance of Composable Commerce, located within a designated hosting area of a cloud service provider such as (Google Cloud Platform or AWS). User accounts are separate per Region.
- Organization
- A grouping that contains your Projects and Teams. Administrator permissions are defined per Organization.
- Project
- The data container for all of your commerce resources, such as Customers, Products, Carts, Orders, and Discounts.
- Team
- Teams define access rights to resources within Projects and contain users.
- user
- Individuals who create and maintain all of the data in your Project. These individuals are represented by a User account in Composable Commerce.
Deciding on a Region
Before creating your first Composable Commerce account, you will need to decide where it should be hosted. Each Composable Commerce Project resides within a single Region, hosted by one of the major cloud providers - Google Cloud Platform or Amazon Web Services.
These Regions are completely isolated from each other, and no data is transferred between them. If, for example, you create a user in the Google Cloud Europe Region, it has no access to any Composable Commerce resources or data in any other Region. You can learn more about our available Regions here.
Decision factors might be driven by performance objectives, such as selecting the Region closest to your customers to guarantee minimal latency. They could also align with the business preferences for a specific cloud hosting provider.
Project structure
When starting to work with Composable Commerce, you need to create your Project structure. Composable Commerce does not impose a particular Project structure on you - you can model Organizations, Teams, Projects, and users according to your needs. The relationships between these features are important to understand. Certain of these features are nested within other features:
- Organizations exist within Regions.
- Teams and Projects exist within Organizations.
- Users belong to Teams.
Let's take a closer look at the relationships between these features.
Relationships between the features
Some of the most important relationships in Composable Commerce for us to understand are:
A Region can contain
- one or many Organizations.
- one or many users.
An Organization can contain
- one or many Teams.
- multiple Projects.
A Team
- can contain one or many users.
- defines access permissions for one or many Projects.
A user
- belongs to at least one Team.
- can be in one or many Teams.
A Project
- can have one or multiple Teams accessing it with different access permissions.
You will learn more about each of these features in more detail in the following pages, but for now it's enough for you to have a general understanding of how each of these is related to each other.