Skip to content

Service catalog

Every workload in the cluster sits behind a single GCE Ingress on the cashless-dev2-ingress static IP, terminated by one Google ManagedCertificate covering all hosts below. Each row links to the public URL on dev2.mycashless.com.

Frontends

  • Admin UI

    admin.dev2.mycashless.com/dashboard/cashless-admin-ui

    Angular 21 SPA for venue / event operators. Bootstrap 5 + Angular Material 21. Served under /dashboard/ (app baseHref); the bare host root 404s.

  • Refund UI

    refund.dev2.mycashless.com/refund/cashless-refund-ui

    Self-service refund portal for cardholders. Served under /refund/ (app baseHref); the bare host root 404s.

  • Marketplace

    marketplace.dev2.mycashless.commarketplace-user-ui

    Customer marketplace — Angular 21, Stripe.js, Angular Fire. Currently broken — baseHref (/account/marketplace/) does not match the nginx serving path, so assets fail and the app renders blank. Needs a build/deploy fix, not a link change.

  • Personal Account UI

    pa.dev2.mycashless.compersonalaccount-ui

    Cardholder personal account web app — Angular 21, Stripe.js, Firebase. Currently broken — baseHref (/account/) does not match the nginx serving path, so assets 404 and the app renders blank. Needs a build/deploy fix, not a link change.

Backends

  • Admin API

    api.dev2.mycashless.com/v2cashless-backend-v2 (cm_v2)

    FastAPI on uvicorn. Admin API + background jobs (notifications, NFC, sales, backups).

  • Auth

    auth.dev2.mycashless.comcashless-auth

    FastAPI on uvicorn. Password, phone OTP, Firebase, device, API key, MFA.

  • Personal Account API

    pa-api.dev2.mycashless.com/v4personalaccount-api-v4 (pa_v4)

    FastAPI on uvicorn. Cardholder endpoints — balance, top-up, refund, reservations, cart, push preferences.

Mobile

These do not have public URLs — they ship as native apps and consume the backend HTTP surfaces above plus the shared Rust SDK.

App Platform Notes
mPOS Android / Kotlin Point-of-sale. Star TSP printer + Stripe Terminal 4.3.
user_app_android_with_sdk Android / Kotlin + Compose Active cardholder target. Hilt, Room, KSP.
user_app_ios iOS / Swift Cardholder. Alamofire, Stripe, Firebase.
user_app_android Android / Java Legacy cardholder (sunset).
dispatch_app Android / Java Dispatch workflows. Star TSP printer.
fastpass_app Android / Java Fastpass scanning. CameraX.
format_app Android / Java Card / token formatting tooling.
report_app Android / Java Operator reporting. Dropbox SDK.

Operational services (no public host)

Service Purpose
cashless-cron Scheduled jobs (backups, batch reconciliation, notifications).
cashless-worker Polling-loop background worker (MySQL-backed, no broker). See Background jobs.
cashless-redis In-cluster Redis for cache + queues.
cashless-db-backup Periodic MySQL backups to GCS.
cashless-secrets External-Secrets operator config (GCP Secret Manager → K8s Secrets).
cashless-migrate One-shot DB migration Job invoked on backend rollouts.
cashless-ingress This LB. GCE Ingress + Google ManagedCertificate.
otel-collector OTLP receiver → Prometheus + Cloud Trace.
argocd-image-updater Auto-bumps image tags on new GHCR builds.