adr-2026-05-15-nextjs-mongodb-invoice-stack-snapshot

acceptedtype/adr

ADR — Stack snapshot (as-built)

TL;DR

Record the observed technology choices for LumenDev Invoice as of 2026-05-15: Next.js 16 (App Router), React 19, MongoDB via Mongoose 9, client-side PDF via @react-pdf/renderer, Tailwind 4; no dedicated auth library in package.json.

Context

  • The app repo targets a single Node service talking to MongoDB; ops notes live in AGENTS.md.
  • This ADR is a snapshot, not a pending fork — it documents what the codebase already uses.

Decision

Accepted as the working stack:

LayerChoice
AppNext.js 16 App Router (src/app/)
UIReact 19, Tailwind 4
DataMongoDB + Mongoose 9
PDF@react-pdf/renderer (client)
AuthNone packaged in dependencies (revisit if product adds login)

Consequences

  • Technical deep dives (routes, schema, API tables) should live in the repo docs/ submodule per project-docs-sync.
  • Any future auth, hosting, or DB change should update this ADR or add a superseding ADR + vault Recent Changes.

Alternatives Considered

  • N/A for this snapshot ADR — alternatives would be captured in a future ADR when a migration is proposed.