624c5809b6b8a05d61c0eda360c63f8366573331
Closes #3 ## Summary - enforce `currentPeriodEnd` as a hard access boundary for generation requests - transition elapsed `active` and `past_due` subscriptions to `expired` during runtime reads - stop showing active-cycle quota for non-active subscriptions and document the current lifecycle behavior - add DB tests for post-expiry generation rejection and expired account-view normalization ## Testing - built `infra/docker/web.Dockerfile` - ran `pnpm --filter @nproxy/db test` inside the built container - verified `@nproxy/db build` and `@nproxy/web build` during the image build Co-authored-by: sirily <sirily@git.shararam.party> Reviewed-on: #19
nproxy
Product codebase for a crypto-subscription image gateway.
The repository contains:
- runtime applications and shared packages;
- the agreed system plan and architecture documents;
- operational notes for deployment, Telegram pairing, and provider key rotation;
- directory-scoped instructions so Codex runs implement against the same decisions.
Chosen baseline
- Product: B2C website
- Billing: one monthly plan, paid with crypto through a payment processor
- Model support: starts with
nano_banana - Generation modes: text-to-image and image-to-image
- Infra target: one VPS with Docker Compose
- Admin surfaces: web admin and Telegram bot
- Key management: multiple provider keys with round-robin routing, failover, cooldown, balance tracking, and optional per-key proxy
Main directories
apps/runtime entrypointspackages/shared domain and adapter codedocs/source-of-truth planning documentsinfra/deployment templatesscripts/operational helpers
Read first
docs/plan/system-plan.mddocs/architecture/system-overview.mddocs/ops/deployment.mdCONTRIBUTING.md
Description
Languages
TypeScript
92.8%
JavaScript
4.2%
Dockerfile
3%