testerpaykit_core 0.1.0
testerpaykit_core: ^0.1.0 copied to clipboard
Shared models, utilities, and business logic for the TesterPayKit SDK — sessions, payouts, weekly summaries, integrity helpers.
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]