d8a

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2025 License: MIT Imports: 3 Imported by: 0

README

D8A

This is the in-progress tracker for D8a.tech - GA4-compatible analytics platform.

Setup

run

go run main.go server

make a request and wait a minute for the session to be closed.

BASE_URL=http://localhost:8080

echo "partition 1, request 1"
CID="ag9"
SESSION_STAMP="127.0.0.1"
curl "${BASE_URL}/g/collect?v=2&tid=G-5T0Z13HKP4&gtm=45je5580h2v9219555710za200&_p=1746817938582&gcd=13l3l3l2l1l1&npa=1&dma_cps=syphamo&dma=1&tag_exp=101509157~103101750~103101752~103116026~103130495~103130497~103200004~103211513~103233427~103251618~103251620~103284320~103284322~103301114~103301116&cid=${CID}&ul=en-us&sr=1745x982&uaa=x86&uab=64&uafvl=Not(A%253ABrand%3B24.0.0.0%7CChromium%3B122.0.6261.171&uamb=0&uam=&uap=Linux&uapv=6.14.4&uaw=0&frm=0&pscdl=noapi&_eu=AAAAAAQ&_s=1&sid=1746817858&sct=1&seg=1&dl=https%3A%2F%2Fd8a-tech.github.io%2Fanalytics-playground%2Findex.html&dr=https%3A%2F%2Fd8a-tech.github.io%2Fanalytics-playground%2Fcheckout.html&dt=Food%20Shop&en=page_view&_ee=1&tfd=565&sessionStamp=${SESSION_STAMP}&ep.content_group=product&ep.content_id=C_1234" \
  -X 'POST' \
  -H 'authority: region1.google-analytics.com' \
  -H 'accept: */*' \
  -H 'accept-language: en-US,en;q=0.8' \
  -H 'content-length: 0' \
  -H 'origin: https://d8a-tech.github.io' \
  -H 'priority: u=1, i' \
  -H 'referer: https://d8a-tech.github.io/' \
  -H 'sec-ch-ua: "Not(A:Brand";v="24", "Chromium";v="122"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Linux"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: no-cors' \
  -H 'sec-fetch-site: cross-site' \
  -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/6.8.3 Chrome/122.0.0.0 Safari/537.36' ;

Test

go test ./...

Documentation

Overview

Package main provides the entry point for the tracker-api service

Directories

Path Synopsis
pkg
bolt
Package bolt provides BoltDB storage operations for hit tracking.
Package bolt provides BoltDB storage operations for hit tracking.
cmd
Package cmd provides command line interface for tracker-api
Package cmd provides command line interface for tracker-api
columns
Package columns provides generic column implementations for session data tracking.
Package columns provides generic column implementations for session data tracking.
nolint
columns/eventcolumns
Package eventcolumns provides column implementations for event data tracking.
Package eventcolumns provides column implementations for event data tracking.
columns/sessioncolumns
Package sessioncolumns provides column implementations for session data tracking.
Package sessioncolumns provides column implementations for session data tracking.
columnset
Package columnset provides a default columnset for the tracker API.
Package columnset provides a default columnset for the tracker API.
currency
Package currency provides a currency conversion interface and implementation.
Package currency provides a currency conversion interface and implementation.
debugger
nolint // this is debugger code, not for prod and 100% vibe-coded
nolint // this is debugger code, not for prod and 100% vibe-coded
e2e
Package e2e provides utilities for end-to-end testing
Package e2e provides utilities for end-to-end testing
encoding
Package encoding provides functionality for encoding and decoding data
Package encoding provides functionality for encoding and decoding data
hits
Package hits provides functionality for handling and processing tracking hits
Package hits provides functionality for handling and processing tracking hits
pings
Package pings provides utilities for creating and handling ping tasks.
Package pings provides utilities for creating and handling ping tasks.
protocol
Package protocol defines the interface for different tracking protocol implementations.
Package protocol defines the interface for different tracking protocol implementations.
protocol/ga4
Package ga4 provides GA4 protocol specific column definitions.
Package ga4 provides GA4 protocol specific column definitions.
protocolschema
Package protocolschema provides an integration between protocol and schema packages
Package protocolschema provides an integration between protocol and schema packages
protosessions
Package protosessions provides functionality for aggregating hits into proto-sessions
Package protosessions provides functionality for aggregating hits into proto-sessions
publishers
Package publishers provides implementations of various publisher strategies
Package publishers provides implementations of various publisher strategies
receiver
Package receiver implements the receiver service.
Package receiver implements the receiver service.
schema
Package schema provides the core data models and types for the tracking system.
Package schema provides the core data models and types for the tracking system.
sessions
Package sessions provides session management functionality for the tracking system.
Package sessions provides session management functionality for the tracking system.
storage
Package storage provides interfaces and implementations for key-value and set storage.
Package storage provides interfaces and implementations for key-value and set storage.
storagepublisher
Package storagepublisher provides an adapter to publish hits to a worker-backed storage.
Package storagepublisher provides an adapter to publish hits to a worker-backed storage.
util
Package util provides utility functions for type conversions and other common operations.
Package util provides utility functions for type conversions and other common operations.
warehouse
Package warehouse provides a set of interfaces and implementations for working with data warehouses.
Package warehouse provides a set of interfaces and implementations for working with data warehouses.
warehouse/testutils
Package testutils provides test utilities for the warehouse package.
Package testutils provides test utilities for the warehouse package.
worker
Package worker provides functionality for processing tasks in a worker pool
Package worker provides functionality for processing tasks in a worker pool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL