9641678fa34a493e47c4afef429dc727d681213d
Refs #9 ## Summary - add a worker-side renewal invoice sweep that creates one invoice 72 hours before subscription expiry - expire elapsed pending invoices automatically and email users when an automatic renewal invoice is created - stop auto-recreating invoices for the same paid cycle once any invoice already exists for that cycle - document the current renewal-invoice and pending-invoice expiry behavior ## 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 - built `infra/docker/worker.Dockerfile` Co-authored-by: sirily <sirily@git.shararam.party> Reviewed-on: #20
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
94.7%
JavaScript
3.6%
Dockerfile
1.7%