Skip to content

Overview

Business Affairs Maker (BAM) builds contracts for screen productions. A production company creates a project, adds the people it will contract, and generates each contract from a template. The contract can be shared with the other party, signed, and exported as a Word document.

Today BAM has one running environment, staging:

Part Address
Web client https://app.staging.businessaffairs.com
GraphQL API https://api.staging.businessaffairs.com/graphql
Login https://auth.businessaffairs.com (Ory Network)

All repositories live in the The-Everyone-Project GitHub organisation.

Repository What it is Its own docs
ba-api Node.js GraphQL API, MongoDB, CASL authorisation, umzug migrations docs/readme.md: GraphQL conventions, RBAC, database, testing
ba-client Next.js web client, MUI Material, deployed on Cloudflare Pages docs/intro.md: UI, GraphQL fragments and pagination, contract builder
ba-document-builder-service C# service that turns a contract into a Word document, reached only from inside the Container Apps environment README.md
ba-infrastructure OpenTofu and Terragrunt for everything hosted: Azure, MongoDB Atlas, Cloudflare DNS, the AWS bucket README.md, docs/runbooks/, docs/adr/
bam-documentation This site

A repository’s own docs/ folder keeps what a developer needs with the code open: conventions, test setup, how a module is shaped. This site keeps what someone needs when the code is not open: how the system fits together, how to run it, what was decided and why. Repo-level docs stay in their repositories. This site links to them and does not copy them.

When a change makes a page stale, the page is updated in the same pull request as the change. A page that no longer matches the code is worse than no page. Defects and open findings go to Linear (team BAM Dev), not here.

  1. System overview: what runs where.
  2. Secrets and identity: where each secret lives and who can read it.
  3. Deployment: how code and infrastructure changes reach staging.
  4. Runbooks: what to do when something fires.