Skip to content

Architecture Decision Records (ADRs) ​

This directory contains architecture decision records for the Prescriptoo API project.

What is an ADR? ​

An Architecture Decision Record (ADR) captures an important architectural decision made along with its context and consequences.

ADR List ​

#TitleStatus
ADR-001Modular Monolith ArchitectureAccepted
ADR-002Table Prefix over Separate SchemasAccepted
ADR-003Event-Driven Architecture with Swappable BusAccepted
ADR-004Doctor as Role (Not Separate Service)Superseded
ADR-005Doctor Verification in Admin ServiceAccepted
ADR-006Separate Notification ServiceAccepted
ADR-007Policy-Based Access Control (PBAC)Superseded by ADR-017
ADR-008Service Boundaries and ResponsibilitiesAccepted
ADR-009API Route Naming ConventionAccepted
ADR-010Go Workspace StructureAccepted
ADR-011One Use Case per FileAccepted
ADR-012Explicit Public Service Contracts for Synchronous Module CallsAccepted
ADR-013Doctor Service and Separate Organization AffiliationsAccepted
ADR-014Subscription Plans, Feature Snapshots, and Manual BillingAccepted
ADR-015Separate Patient Service and Prescription HTTP ContractsAccepted
ADR-016Medicine catalog API contractsAccepted
ADR-017Scoped Authorization ServiceAccepted
ADR-018Shared Audit Service with Owner-Managed HTTP APIsAccepted

ADR Format ​

Each ADR follows this format:

markdown
# ADR-XXX: Title

## Status

Accepted / Proposed / Deprecated / Superseded

## Context

What is the issue we're deciding on?

## Decision

What did we decide?

## Rationale

Why did we make this decision?

## Consequences

What are the positive and negative outcomes?

## Related Decisions

Links to related ADRs.

How to Add a New ADR ​

  1. Create a new file: NNN-title-in-lowercase.md
  2. Use the next available number
  3. Follow the format above
  4. Update this README with the new entry

Documentation follows the source. Planned contracts are marked explicitly.