sirily 624c5809b6 fix: enforce subscription period end (#19)
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
2026-03-10 18:12:21 +03:00
2026-03-10 14:03:52 +03:00
2026-03-10 14:03:52 +03:00
2026-03-10 14:03:52 +03:00
2026-03-10 14:03:52 +03:00
2026-03-10 14:03:52 +03:00
2026-03-10 14:03:52 +03:00

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 entrypoints
  • packages/ shared domain and adapter code
  • docs/ source-of-truth planning documents
  • infra/ deployment templates
  • scripts/ operational helpers

Read first

  • docs/plan/system-plan.md
  • docs/architecture/system-overview.md
  • docs/ops/deployment.md
  • CONTRIBUTING.md
Description
Proxy chat for image generators
Readme 194 KiB
Languages
TypeScript 92.8%
JavaScript 4.2%
Dockerfile 3%