How do I structure my content based on a region?

System Information
  • Strapi Version: 3.6.5
  • Operating System: Windows 10
  • Database: SQLite & MySQL
  • Node Version: 14.17.1
  • NPM Version: 7.19.1
  • Yarn Version:

Hello, I am hoping I can possibly get help with understanding how I should structure my collection types or backend. I need my content to be different per region. To clarify I do not mean localize, internationalize, translate. A region may support multiple localizations, but each region will have different content depending of which region they are asking from. So for example the Asia region will have the content translated in English and Japanese. The North America region will have its content translated and English and Japanese, but the content itself being returned needs to be different.

So here is how I hope I can have the data work, but am unsure of how to accomplish:

Our app asks Strapi for Categories, and only returns the categories related to the region it was requested from. (The app will be the one that tells Strapi which region it is in). These categories can be in multiple regions but each region may have a different list of categories.

The categories are related to either a list of products or a list of sub categories. Each region will have a different list of products, for each category depending on region, but the products can be in more than one region.

Each category might also instead of being related directly to a list of products, may be related to a subcategory. Each region’s related category to list of subcategories relation will be different, but once again the subcategory entries themselves can be in multiple regions, but the groupings of these sub categories are different. Then each sub category relates to a list of products, and once again per region the related list of products to that sub category may be different.

Trying to visualize this (black lines North America, Red Lines Asia)

(For my visual I know that Honda Civic would be in real life data a sub category of Car, as well as Windows Laptop would be a sub category under Laptop but this data is fake made up for this mock)

Anyway if anyone has any suggestions as to how I could make something like this work in Strapi in the cleanest way possible for usability in a CMS UI please let me know how something like this has been done before.