Skip to content

Architectural Decision Records (ADRS)

This directory contains the Architectural Decision Records (ADRs) for this project. An ADR is a short, version-controlled document that captures a significant architectural decision made by the team, along with its context and consequences.

The purpose of these records is to create a clear, historical log of why our system is built the way it is, providing invaluable context for future development, maintenance, and onboarding. This approach is a core tenet of our "Docs as Code" philosophy (ADR-0006).

Guiding Principles

  • Immutable Decisions: An ADR records a decision at a point in time. If a decision is later reversed or changed, we create a new ADR that supersedes the old one; we do not modify the original.
  • Focus on the "Why": The most important part of an ADR is the "Context" section, which explains the problem or forces at play, and the "Consequences" section, which details the trade-offs of the chosen path.

Log of Decisions

ADR ID Title Status Date
0001 Use Google Directory for Single Sign-On (SSO) Authentication Accepted 2025-09-11
0002 Use a Microservices Architecture Accepted 2025-09-11
0003 Use gRPC for Internal APIs and REST for Public API Accepted 2025-09-11
0004 Adopt a Strict, Group-Based Access Control Model Accepted 2025-09-11
0005 Use Just-In-Time (JIT) User Provisioning Accepted 2025-09-11
0006 Adopt "Docs as Code" Philosophy Accepted 2025-09-11
0007 Select React and TanStack Query for Frontend Accepted 2025-09-11
0008 Migrate Backend Services to Nest.js and TypeScript Accepted 2025-09-15
0009 Sensitive Data via Environment Variables Accepted 2025-09-15
0010 Select React Native for Mobile Application Accepted 2025-09-16
0011 AI-Enhanced Workflow Integration Proposed 2025-09-17
0012 Secret Management Strategy Proposed 2025-09-17