Application that provides our simplified and fast API for collecting analytics data. Build over https://www.npmjs.com/package/analytics
Sample UI build with tracker data of visits and target actions:
This repository has two parts:
- Frontend (@sd/tracker) - client code that connects to the frontend and runs in the client's browser, is responsible for the initial collection of data and sending it to the backend API.
- Backend is a NestJS server application that provides the frontend with the
/collect
endpoint for initial saving data to the message queue (in our case it is Kafka).
Here is instruction how to connect builded tracker to yours site: https://superdao.notion.site/Superdao-Tracker-setup-guide-50694a2ec687415abd28b65bb44cf337. TRACKER_ID
just UUIDv4 for separate clients/projects.
After successfully processing the event, you will be able to see similar messages in the Kafka queue:
{
"user_wallet_address":"0xfd0D87F892ADf8662D7b7223009220B801851B69",
"tracker_id":"63584b6b-ed36-465b-ad0f-0ab3235d6bff",
"type":"WALLET_CONNECT",
"id":"3ce6d21b-0df0-4d7b-bcd5-1603dcb5fe0b",
"session_id":"3479fd50-25d4-4302-8285-7cdf5567b709",
"timestamp":1678968187367,
"anonymous_id":"5641939c-4d4f-454a-a3f8-4cc85f97b112",
"user_locale":"en-GB",
"user_timezone":"Asia/Makassar",
"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36",
"page_referrer":"",
"page_url":"http://localhost:3003/",
"page_path":"/",
"user_ip":"10.0.5.37"
}
- Install project dependencies -
pnpm install
- Completethe configuration file -
apps/backend/.env.development
- Bring up Kafka queue -
docker-compose up -d
- Run the server in development mode -
pnpm dev
- Build production tracker snippet code -
pnpm --filter=@sd/tracker build
, will emit toapps/frontend/browser
Loading different .env
files depending on NODE_ENV
variable. Admissible values: development
, test
, production
, staging
.
.env.development.local
(ignored by git).env.development
- Run app in development mode -
pnpm dev
- Open http://localhost:8000/api/ to view API docs in the browser
npx npm-check-updates --deep --upgrade
We are publishing this repository with no commit history, so here is a list of developers, testers and DevOps who contributed
Akim Mamedov Aleksandr Antsiferov Aleksandr Khaustov Anton Iutin Anton Movshin Maksim Gubyshev Vladimir Vlasiuk Nazhmudin Baymurzaev