Skip to main content

Introduction

Architecture

The projects consists of 3 separate apps which can be found under their respective folders in the apps folder

  • The docs folder contains the source code to what you are reading right now
  • The cms folder holds the code that is responsible for the cms - currently running Strapi
  • Finally the web folder contains the code that is responsible for the frontend - currently running NextJs

Versioning

Up until version 1.19.2 all apps (cms, web and docs) were versioned using sematic-release this treated the entire monorepo as a single application. From v1.19.2 onwards we are versioning the apps individually using changesets.

Currently, every merged pull request results in a release. This means that every time a pull request is merged into the main branch, the changes are immediately released to users, GitHub release(s) get published and changelogs get updated.

However, currently our team is considering moving away from this approach and instead aiming for a monthly or bi-weekly release schedule. This means that instead of every pull request resulting in a release, the changes would be batched together and released at regular intervals, such as every month or every two weeks.

Software Bill of Materials

For users and contributors interested in the dependencies of our project, it's important to note that while we do not manually maintain a Software Bill of Materials (SBoM), GitHub automatically tracks and lists all dependencies for our repository. This automated SBoM provides a detailed overview of every library and package the project relies on, including versions and other pertinent information. To view this information, please visit our project's GitHub dependency graph.