# URL shortener (`s.f0xx.org`) Standalone opt-in service — **not** part of `examples/crash_reporter/backend/`. | Doc | Path | |-----|------| | SPEC | [docs/specs/20100611_3_url_shortener.md](../../docs/specs/20100611_3_url_shortener.md) | | DR | [docs/DRs/20100611_3_url_shortener.md](../../docs/DRs/20100611_3_url_shortener.md) | | Deploy | [DEPLOY.md](DEPLOY.md) | **Status:** scaffold (OpenAPI + SQL + nginx fragments + smoke scripts). PHP handlers TODO. **Git remote (PO confirmed):** `git://f0xx.org/androicast_project/url-shortener` **Public URL:** `https://s.f0xx.org` **FE TLS (PO confirmed):** `/etc/letsencrypt/live/s.f0xx.org/{fullchain.pem,privkey.pem}` ## Quick smoke (when deployed) ```bash export BASE=https://s.f0xx.org export BEARER=demo-bearer-replace-me ./scripts/demo_curl.sh ``` ## Local dev (future) ```bash # MariaDB: apply sql/schema.mariadb.sql # php -S 127.0.0.1:8091 -t public ``` ## Layout ```text backend/url-shortener/ openapi.yaml # API contract (source of truth with SPEC §6) deploy/ # FE + BE nginx fragments sql/schema.mariadb.sql scripts/demo_curl.sh scripts/smoke_shorten.sh scripts/init-mariadb-grants.sh config/config.example.php # DB url_shortener, user androidcast (same pwd as crashes) public/index.php # stub router until impl ```