@breadstone/ziegel-platform-analytics
v0.0.9
Published
Includes analytics functionalities. The analytics data can be push to the given provider. This package includes contains providers. (e.g. google analytics)
Downloads
2
Readme
@breadstone/ziegel-platform-analytics
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
npm install @breadstone/ziegel-platform-analytics
# or
yarn add @breadstone/ziegel-platform-analytics🧩 Features & Usage Examples
Event Tracking
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
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
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
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
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
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
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
For detailed API documentation, visit: [API Docs](./../../.docs/api/ziegel-platform-analytics/index.md)
## 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](../../README.md)*