@crimson31/analytics-sdk
v1.0.2
Published
SDK for collecting events and business metrics in e-commerce web applications.
Maintainers
Readme
Analytics SDK (TypeScript)
Это модуль-SDK для сбора событий и чтения аналитики в веб-приложениях электронной коммерции. Библиотека поставляется в виде npm-пакета и предоставляет методы как для отправки событий, так и для чтения эндпоинтов API.
Функциональность
- POST /events - отправка событий через
trackEvent()и удобные методыview*,trigger*,scroll,data*,system*. - GET /events - получение списка событий через
getEvents(). - GET /metrics - получение агрегированных метрик через
getMetrics(). - GET /health - получение статуса API, MongoDB и Redis через
getHealth().
Каждый тип события разделён на подкатегории Component и Function
(за исключением scroll, у которого есть собственный параметр глубины
прокрутки). SDK инкапсулирует логику HTTP-запросов к API-серверу и
может быть настроен через базовый URL API и ключ доступа.
Установка
npm install @your-org/analytics-sdkИспользование
import { AnalyticsSDK, AnalyticsSDKConfig } from '@your-org/analytics-sdk';
// Настройка SDK
const config: AnalyticsSDKConfig = {
apiHost: 'https://api.example.com',
apiKey: 'my-secret-key',
};
const sdk = new AnalyticsSDK(config);
// Отправка событий
await sdk.viewComponent('ProductCard', { productId: '123' });
await sdk.triggerFunction('AddToCart', { productId: '123' });
await sdk.scroll('HomePage', { scrollDepth: 0.5 });
// Прямой вызов POST /events
await sdk.trackEvent({
type: 'system',
name: 'Bootstrap',
category: 'function',
timestamp: Date.now(),
data: { source: 'sdk-example' },
});
// Чтение API
const events = await sdk.getEvents();
const metrics = await sdk.getMetrics();
const health = await sdk.getHealth();
console.log(events, metrics, health);Структура проекта
src/- исходный код библиотеки на TypeScript.dist/- скомпилированные файлы JavaScript.tsconfig.json- конфигурация TypeScript.package.json- метаданные npm-пакета.
Компиляция
Для сборки TypeScript в JavaScript выполните:
npm run buildРезультат будет сохранён в директорию dist/.
