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.comcashless-admin-ui

    Angular 21 SPA for venue / event operators. Bootstrap 5 + Angular Material 21.

  • Refund UI

    refund.dev2.mycashless.comcashless-refund-ui

    Self-service refund portal for cardholders.

  • Marketplace

    marketplace.dev2.mycashless.commarketplace-user-ui

    Customer marketplace — Angular 21, Stripe.js, Angular Fire.

  • Personal Account UI

    pa.dev2.mycashless.compersonalaccount-ui

    Cardholder personal account web app — Angular 21, Stripe.js, Firebase.

Backends

  • Admin API

    api.dev2.mycashless.comcashless-backend (/) + cashless-backend-v2 (/v2)

    Flask 2.0 on gunicorn / eventlet. 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.compersonalaccount-api (/) + personalaccount-api-v4 (/v4)

    Flask 2.3 on gunicorn. v1 / v2 / v3 / v4 cardholder endpoints.

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 Background queue worker (RQ / Redis).
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.