Skip to content

MIT LicenseTypeScriptnpm

Analytics and tracking infrastructure for the ziegel platform. Provides analytics managers, multiple analytics providers (Google Analytics, etc.), data sanitization, and tracking utilities for enterprise applications.

Analytics: Enterprise analytics with multiple providers, data sanitization, and comprehensive tracking capabilities.

🚀 Overview

@breadstone/ziegel-platform-analytics provides:

  • Analytics Manager: Centralized analytics tracking and management
  • Multiple Providers: Support for Google Analytics, custom providers, and callback-based tracking
  • Data Sanitization: Configurable data sanitization and privacy protection
  • Provider Architecture: Extensible provider system for different analytics services
  • Console Analytics: Development and debugging analytics provider
  • Type Safety: Strongly typed analytics events and configurations

📦 Installation

bash
npm install @breadstone/ziegel-platform-analytics
# or
yarn add @breadstone/ziegel-platform-analytics

🧩 Features & Usage Examples

Event Tracking

typescript
import { AnalyticsManager, TrackingEvent } from '@breadstone/ziegel-platform-analytics';

const analytics = new AnalyticsManager();

// Track custom events
analytics.track('button_click', {
  buttonId: 'save-button',
  page: 'user-profile',
  userId: '123',
});

// Track page views
analytics.trackPageView('/dashboard', {
  referrer: document.referrer,
  userAgent: navigator.userAgent,
});

Metrics Collection

typescript
import { MetricsCollector, Counter, Gauge, Histogram } from '@breadstone/ziegel-platform-analytics';

const metrics = new MetricsCollector();

// Counter metrics
const apiCallsCounter = new Counter('api_calls_total');
apiCallsCounter.increment({ endpoint: '/users' });

// Gauge metrics
const activeUsersGauge = new Gauge('active_users');
activeUsersGauge.set(150);

// Histogram metrics
const responseTimeHistogram = new Histogram('response_time_ms');
responseTimeHistogram.observe(250);

Performance Monitoring

typescript
import { PerformanceMonitor, PerformanceTracker } from '@breadstone/ziegel-platform-analytics';

const monitor = new PerformanceMonitor();

// Track function performance
const tracker = new PerformanceTracker('database_query');
tracker.start();
await performDatabaseQuery();
tracker.end();

// Monitor Web Vitals
monitor.trackWebVitals();
monitor.trackResourceTiming();

A/B Testing

typescript
import { ExperimentManager, ABTest } from '@breadstone/ziegel-platform-analytics';

const experimentManager = new ExperimentManager();

// Define A/B test
const buttonColorTest = new ABTest('button-color-test', {
  variants: ['red', 'blue', 'green'],
  weights: [0.33, 0.33, 0.34],
});

// Get user variant
const variant = experimentManager.getVariant('button-color-test', userId);

// Track conversion
experimentManager.trackConversion('button-color-test', userId, {
  action: 'purchase',
  value: 99.99,
});

User Analytics

typescript
import { UserAnalytics, UserSession } from '@breadstone/ziegel-platform-analytics';

const userAnalytics = new UserAnalytics();

// Start user session
const session = userAnalytics.startSession(userId);

// Track user actions
session.trackAction('product_view', { productId: 'abc123' });
session.trackAction('add_to_cart', { productId: 'abc123', quantity: 2 });

// End session
session.end();

Custom Dashboards

typescript
import { DashboardManager, Widget, Chart } from '@breadstone/ziegel-platform-analytics';

const dashboard = new DashboardManager();

// Create widgets
const userCountWidget = new Widget('active-users', {
  type: 'counter',
  query: 'SELECT COUNT(*) FROM active_sessions',
});

const salesChart = new Chart('sales-trend', {
  type: 'line',
  query: 'SELECT date, SUM(amount) FROM sales GROUP BY date',
});

dashboard.addWidget(userCountWidget);
dashboard.addWidget(salesChart);

📚 Package import points

typescript
import {
  // Analytics Manager
  AnalyticsManager,
  IAnalyticsManager,

  // Analytics Providers
  AnalyticsProviderBase,
  IAnalyticsProvider,
  IAnalyticsProviderConfig,
  CallbackAnalyticsProvider,
  ConsoleAnalyticsProvider,
  GoogleAnalyticsProvider,

  // Callbacks & Types
  AnalyticCallback,

  // Data Sanitization
  AnalyticsSanitizerBase,
  AnalyticsSanitizer,
  IAnalyticsSanitizer,
  IAnalyticsSanitizerConfig,
  SanitizerKind,
} from '@breadstone/ziegel-platform-analytics';

} from '@breadstone/ziegel-platform-analytics';


## 📚 API Documentation


## Related Packages

- **@breadstone/ziegel-platform**: Core platform services
- **@breadstone/ziegel-platform-logging**: Logging infrastructure
- **@breadstone/ziegel-core**: Foundation utilities

## License

MIT

## Issues

Please report bugs and feature requests in the [Issue Tracker](https://github.com/RueDeRennes/ziegel/issues)

---

*Part of the [ziegel Enterprise TypeScript Framework](/)*

Released under the MIT License.