Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Metrics: log referral domains #39

@jayaddison

Description

@jayaddison

Is your feature request related to a problem? Please describe.
The HTTP referer domain name -- only the domain name part, the full URL is not required -- should be recorded by our infrastructure and logged in the [backend] database in the events schema (see openculinary/backend#75).

Describe the solution you'd like
Since we deploy a single-page progressive web application, index.html should be the only file where the HTTP Referer header is relevant and received.

Similarly, index.html should be served using minimal, high-performance and low-cost infrastructure since it's the application's key entrypoint.

Currently, the frontend service that serves content does not support any dynamic per-request logic, and that's by-design (some template in-fill is performed by webpack at container build-time, but beyond that point the content is served statically).

Ideally, referral event recording should be performed in-cluster since that matches the behaviour of search logging.

I think that the most pragmatic and architecturally-consistent approach is to have a minimal passthrough Python flask microservice that relays requests to the frontend service, and as a side-effect places a log event on a referrals queue for a backend-worker to pick up and store.

Describe alternatives you've considered

  • Serving the frontend content from a Python/flask service directly.
  • Adding an analytics tag to the delivered PWA application.

Additional context
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions