testerpaykit_core

Shared models, utilities, and business logic for the TesterPayKit ecosystem.

Overview

This package contains the core data models and utilities used across all TesterPayKit components:

  • SDK package
  • Tester mobile app
  • Web console
  • Backend API

Features

Data Models

  • WeeklySummary - Weekly testing submission with metrics and metadata
  • SessionMetrics - Aggregated usage metrics (sessions, screens, tasks, etc.)
  • TaskPreset - Task configurations for testers
  • TesterProfile - Tester account information
  • PayoutRule - Payout calculation rules and multipliers

Utilities

  • IntegrityHelper - Generate and verify tamper-evident hashes
  • PayoutCalculator - Calculate payouts based on metrics and rules

Constants

  • ValidationConstants - Thresholds for quality validation

Usage

import 'package:testerpaykit_core/testerpaykit_core.dart';

// Create metrics
final metrics = SessionMetrics(
  totalSessions: 5,
  activeMinutes: 45,
  uniqueScreens: 12,
  // ... other fields
);

// Generate integrity hash
final hash = IntegrityHelper.generateHash(
  metrics: metrics,
  periodStart: startDate,
  periodEnd: endDate,
  testerId: testerId,
  deviceId: deviceId,
);

// Calculate payout
final result = PayoutCalculator.calculatePayout(
  rule: payoutRule,
  metrics: metrics,
);

print(result.formattedTotal); // $25.50 USD

Code Generation

This package uses freezed and json_serializable for code generation:

dart run build_runner build --delete-conflicting-outputs

License

License TBD

Libraries

testerpaykit_core