Main page. Just simple HTML, CSS and JS. https://asxp.io
  • Ruby 57.4%
  • HTML 22.2%
  • CSS 10.3%
  • JavaScript 7.5%
  • Nix 1%
  • Other 1.6%
Find a file
Sergei Poljanski 77724e1ee2
invoicing: admin and public routes
Mounts AdminAuth (HTTP Basic on /admin/*) and adds two route groups:

- Admin (/admin/invoices): list, new form, create, show, toggle-paid.
  POST /admin/invoices builds the Invoice, renders the PDF, uploads to
  MinIO, then persists the row with the resulting pdf_key.

- Public (/i/:uuid): an HTML landing page showing client name, number,
  total, and status badge, plus /i/:uuid/pdf which 302s to a short-lived
  MinIO presigned URL. Anyone with the UUID can fetch the PDF — that's
  the whole point of the link-based delivery.

The Invoice model is required only when DATABASE_URL is set, so the
contact-form site still boots in dev without Postgres. Invoicing routes
return 503 in that mode rather than crashing on first request.
2026-05-26 17:54:31 +03:00
.forgejo/workflows ruby rework with contact form 2026-05-05 00:45:27 +04:00
db/migrations db: connection helper and invoices migration 2026-05-26 17:43:18 +03:00
lib storage: S3 client wrapper and admin Basic-auth middleware 2026-05-26 17:43:48 +03:00
public fonts: vendor Noto Sans + Noto Sans Georgian 2026-05-26 17:29:30 +03:00
views more SEO: org -> person 2026-05-05 01:45:18 +04:00
.dockerignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
.env.example ruby rework with contact form 2026-05-05 00:45:27 +04:00
.gitignore ruby rework with contact form 2026-05-05 00:45:27 +04:00
asxpio.rb invoicing: admin and public routes 2026-05-26 17:54:31 +03:00
CLAUDE.md SEO optimization 2026-05-05 01:13:59 +04:00
config.ru ruby rework with contact form 2026-05-05 00:45:27 +04:00
docker-compose.yml compose: join external storage network 2026-05-26 17:29:09 +03:00
Dockerfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
flake.lock ruby rework with contact form 2026-05-05 00:45:27 +04:00
flake.nix gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00
Gemfile.lock gems: add pg, sequel, prawn, aws-sdk-s3 for invoicing 2026-05-26 17:29:21 +03:00