Skip to content

Shared Platform

Purpose: The common building blocks every Olympus app is built on. These aren't applications you log into, but they explain why the apps behave consistently and how data reaches Way of Life's external systems.

Primary users: Indirectly, everyone; these pieces sit underneath the apps.

Everything here is shared by every app and every operator. Where a building block has its own reference page, this page keeps the summary and points there.


Core

The shared foundation the apps are built on:

  • Multi-tenancy: each operator's data is isolated. The concept is in the System Overview; how it's enforced is on the Olympus Backend page.
  • Dynamic forms: forms and their fields (text, dropdowns, dates, file uploads, repeaters, with conditional logic) are defined once in the core and rendered consistently across the apps, so a new form needs no bespoke code each time.
  • Roles & permissions: the canonical roles and where each is valid live here; see Roles & permissions for the model.
  • Section 13 mail templates: the statutory rent-notice emails and PDFs are generated here, from per-operator templates that staff can edit.

Connectors

The integration layer that talks to the operator's external systems (Qube, Reposit, Inventory Hive, Everest) and keeps them in step when a tenancy changes. What each one connects to is in the Integrations index; the event-driven sync (for example, approving a deal syncs it to Qube) is covered under Automation.


Analytics

What it does: A shared, privacy-safe analytics layer used by all the web front-ends, feeding Google Analytics through a single, consistent set of events.

Who uses it: Every front-end app; product and analytics stakeholders read the results in GA4.

Key rules:

  • No personal data is ever sent. Only an anonymous, stable ID, plus the user's role and building, go to Google. A resident's name, email, phone or address never leaves Way of Life's own database.
  • This is enforced twice: the code won't compile if someone tries to send a forbidden field, and at runtime any personal-looking value is stripped before it's sent. For searches, only the filter names and the length of the query are recorded, never the search text itself.
  • This keeps analytics within Google's policy and UK GDPR data-minimisation.

Design system

What it does: A shared library of interface components, buttons, tables, forms, navigation, notifications, used across every app.

Who uses it: All the front-end apps.

Key rules: Because every app draws from the same library, screens look and behave the same way, and a fix or improvement made once shows up everywhere.


  • Email Catalogue, the full catalogue of system emails, tagged by app
  • FormBuilder / dynamic forms (repo docs)