Introduction

Stratasphere is the monolith repository of all our Strata powered sites

What is the Stratasphere?

This single sentence explains what the Stratasphere is in relation to Strata, but the names and concepts we use might initially be confusing so let us try to break it down and explain how it all fits together. There are three main concepts that we need to understand:

Strata

Let's start from the top. Think of Strata as the engine that powers all our sites (i.e. helixsleep.com, birchliving.com, brooklynbedding.com, etc.), but not limited to only our sites (more on that in "Why are Strata and Stratasphere separating things?)". It provides the all the necessary functionality to build out an website, i.e. creating new pages, adding sections to pages, updating settings, managing users, building navigation/menus, and much more. Strata is a separate codebase that lives outside of the Stratasphere so to speak that it can be actively developed/enhanched/updated/fixed without affecting any of the sites. When a new update is available for Strata, let's say we fixed a bug, we then pull that new version of the engine (Strata) into the Stratasphere. Which brings us to the Stratasphere.

Stratasphere

Statasphere is the name of our monolith repository (codebase) that house all the code for our sites, i.e. anything that is unique to our company and ultimately proprietary code/software. This is also here we pull in the latest version of Strata to power the sites. Without Strata nothing would work. What having all the sites in the same codebase/repository allows us to do is to much easier re-use code across sites, i.e. the basic functionality most PDPs need such as selecting variants, creating one footer that has the same structure across all sites only styling changes, re-using sections across sites, and again much more.

Apps

Apps are essentially small add-ons that are develop independently of everything else, that we can then install into the Stratasphere to enhance the functionality of Strata. Let's take the Shopify app as an example. This app creates a way to import products, variants, price rules, discount codes, etc. from a specified Shopify store. It also hooks into Strata to allow you to view, edit and customize a product with sections just like you know it from building out pages.

Why are Strata and Stratasphere separating things?

Strata is its own separate thing for two main reasons:

Flexibility

By have Strata de-coupled from the Stratasphere we can potentially use it for other projects that we don't want to be tied to our main sites. We can easier tinker with it and create new versions without impacting or affecting our sites.

Open sourcing

We want to give back to the PHP/Laravel community from which we have gotten so much from. This community in particular is such an open, inviting, giving and potentially life transforming community, that without it Strata and the Stratasphere would not have been what it is today.

Last updated

Was this helpful?