Add 7 ADRs documenting backend architecture decisions
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# ADR 0005: Frontend and Backend in Separate Repositories
|
||||
|
||||
**Date:** 2026-04-26
|
||||
**Status:** Accepted
|
||||
|
||||
## Context
|
||||
|
||||
The frontend (Angular SPA) and backend (Express API) are distinct deployment units with different runtimes, dependencies, and release cycles. Two organisational options exist:
|
||||
|
||||
- **Monorepo** — single repository containing both applications, possibly managed with Nx or Turborepo.
|
||||
- **Separate repositories** — each application in its own repository with independent versioning.
|
||||
|
||||
## Decision
|
||||
|
||||
Maintain two separate repositories: `adastra_app` (frontend) and `adastra_api` (backend). Both are treated as a single product during development — tasks that span both (e.g. adding a new API endpoint and its frontend consumer) are handled in a single working session across both repos.
|
||||
|
||||
## Consequences
|
||||
|
||||
- **Positive:** Independent dependency management. Frontend and backend `package.json` files don't interfere with each other.
|
||||
- **Positive:** Simpler CI/CD pipeline per repo when production deployment is set up.
|
||||
- **Positive:** Each repo's git history reflects only its own changes.
|
||||
- **Negative:** No shared type definitions between frontend and backend. API contract changes must be coordinated manually.
|
||||
- **Negative:** Cross-repo changes require two separate commits/PRs. A monorepo would allow atomic cross-boundary commits.
|
||||
- **Tooling note:** The Angular frontend's `CLAUDE.md` declares `adastra_api` as an additional working directory so that cross-repo tasks can be handled in a single session.
|
||||
Reference in New Issue
Block a user