@scaled-club/tracking
v1.0.2
Published
Analytics tracking package.
Readme
@scaled-club/tracking
Internal analytics tracking package for Scaled Club applications.
Installation
npm install @scaled-club/trackingUsage
V1 (Default)
import { Tracking, Analytics } from '@scaled-club/tracking'
// Track events
const tracking = new Tracking({
writeToken: process.env.TRACKING_TB_TOKEN,
enabled: true
})
await tracking.track('subscriptions', {
event_id: 'evt_123',
subscriber_id: 'sub_456'
})
// Fetch analytics
const analytics = new Analytics({
readToken: process.env.ANALYTICS_TB_TOKEN
})
const data = await analytics.getSubscriptions()V2
import { Tracking, Analytics } from '@scaled-club/tracking/v2'
// Same API as V1 but with different endpointsEnvironment Variables
# Required for tracking
TRACKING_TB_TOKEN=your_write_token
# Required for analytics
ANALYTICS_TB_TOKEN=your_read_token
# Optional
TRACKING_TB_HOST=https://api.tinybird.co
TRACKING_ENABLED=true
TRACKING_LOG=falseEvent Types
subscriptions- User subscription eventslesson_views- Lesson engagement trackingquiz_submissions- Quiz completion trackingpost_interactions- Content interaction trackingassessments- Assessment resultscertifications- Certification achievementssubscriber_logins- Login activity (V2 only)
Development
# Install dependencies
pnpm install
# Run tests
pnpm test
# Build package
pnpm build
# Type checking
pnpm typecheck
# Format code
pnpm formatArchitecture
src/
├── v1/ # V1 API implementation
│ ├── tracking/ # Event tracking (write)
│ └── analytics/ # Data fetching (read)
├── v2/ # V2 API implementation
│ ├── tracking/ # Event tracking (write)
│ └── analytics/ # Data fetching (read)
└── shared/ # Common interfaces and schemasTesting
Tests require .env.test with appropriate TinyBird credentials:
TRACKING_TB_TOKEN=your_test_write_token
ANALYTICS_TB_TOKEN=your_test_read_token
TRACKING_TB_HOST=http://localhost:7181Publishing
New versions are published via GitHub releases. Version semantics:
- Patch (x.x.1): Bug fixes
- Minor (x.1.x): New features
- Major (1.x.x): Breaking changes
