Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.95 KB

File metadata and controls

43 lines (32 loc) · 1.95 KB

Infrastructure Architecture Intent

This folder holds infrastructure planning notes for the sandbox-first MVP (future scripts and cloud assets can live in subfolders here).

Goal

Provide operational structure that supports local development now and controlled production evolution later, without redesigning core payment and ledger assumptions.

Current layout

Right now this directory only contains this README.md — it is the canonical place for infra intent until we add subfolders (for example notes/, scripts/, or cloud-specific assets). Nothing here is required to run the app locally; day-one setup stays in the root README.md.

Operating Principles

  • Keep sandbox-first behavior while remaining payment-ready.
  • Treat payment flows as first-class: state machine, idempotency, ledger traceability (mock in MVP).
  • Preserve traceability between payment transactions and wallet ledger effects.
  • Favor idempotent workflows and auditable state transitions.

Planned Infrastructure Scope

  • Environment configuration strategy for frontend and backend. Currently committed via .env.example at the repo root; payments config keys (NUVEI_MODE, NUVEI_RETURN_URL_BASE, optional merchant keys) are documented there. MVP uses NUVEI_MODE=mock only (ADR-0011).
  • Deployment path for Django API, PostgreSQL, and Next.js frontend.
  • Secrets handling patterns with no committed credentials.
  • Logging and observability structure for payment and settlement traceability.
  • Job execution plan for match ingestion (sync_grid_matches cron/worker) and bet settlement reruns (settle_match idempotent per match).
  • GRID Open Access env vars (GRID_API_KEY, GRID_API_BASE_URL, sync window) documented in root .env.example; optional for CI/tests (sync tests mock HTTP).

Related Documentation

  • docs/architecture.md
  • docs/api-contracts.md
  • docs/compliance-notes.md
  • docs/ci.md — GitHub Actions workflow and how to match CI locally