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