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 |