feat: implement attendance analytics and reporting functions#436
Merged
truthixify merged 6 commits intoDistinctCodes:mainfrom Jan 29, 2026
Merged
Conversation
Implement comprehensive analytics functions for attendance data including time tracking, frequency analysis, and pattern recognition capabilities. Changes: - Add analytics data structures (DateRange, TimePeriod, UserAttendanceStats, AttendanceFrequency, PeakHourData, DayPattern) to common_types - Add attendance summary structures (AttendanceSummary, AttendanceReport, SessionPair) to manage_hub types - Implement 9 analytics functions in attendance_log module: * get_attendance_summary() - summary with date range filtering * get_time_based_attendance() - daily/weekly/monthly queries * calculate_attendance_frequency() - frequency metrics * get_user_statistics() - comprehensive user stats * analyze_peak_hours() - hourly pattern analysis * analyze_day_patterns() - weekly pattern analysis * calculate_total_hours() - time conversion utility * calculate_average_daily_attendance() - daily averages * Helper functions for filtering and session parsing - Add 8 public contract endpoints in lib.rs for analytics access - Add new error codes: InvalidDateRange, NoAttendanceRecords, IncompleteSession Features: - Smart session matching (clock-in/clock-out pairing) - Date range filtering with validation on all analytics functions - Peak hours identification (0-23) with percentage distribution - Day pattern analysis (0-6) with percentage distribution - Performance optimizations for large datasets - Comprehensive error handling and validation All acceptance criteria met: ✓ Date range filtering on all analytics functions ✓ Time-based queries (daily, weekly, monthly) ✓ Attendance frequency calculations ✓ User statistics (total hours, average daily attendance) ✓ Performance optimizations for large datasets ✓ Pattern analysis (peak hours and days) ✓ Report generation functions Compiled successfully with no errors or warnings.
|
@Abidoyesimze is attempting to deploy a commit to the naijabuz's projects Team on Vercel. A member of the Team first needs to authorize it. |
8 tasks
- Fix needless borrow in filter_logs_by_date_range function - Apply cargo fmt to fix trailing whitespace issues
Collaborator
|
Hey @Abidoyesimze please resolve the conflicts |
Merged main branch changes (subscription tier features) with attendance analytics feature. Both features now coexist: - Attendance analytics types and functions preserved - Subscription tier types and functions integrated Verified: ✓ cargo fmt - all formatting correct ✓ cargo clippy - no warnings or errors ✓ cargo build - compiles successfully ✓ All attendance analytics functions working ✓ All types properly exported
Fix formatting to match cargo fmt requirements - move TimePeriod to come after TierPromotion instead of before TierChangeRequest.
Contributor
Author
Done |
Contributor
Author
|
I have fix the conflicts now |
Merged main branch changes including pause/resume subscription features with attendance analytics feature: - Added pause/resume error codes (26-31) - Integrated pause-related types (PauseConfig, PauseHistoryEntry, PauseStats) - Removed unused tier error codes to stay within Soroban limits - All attendance analytics functions preserved and working - All types properly merged Verified: ✓ cargo fmt --all - all formatting correct ✓ cargo clippy - no warnings or errors ✓ All attendance analytics functions working ✓ All imports properly resolved
Collaborator
|
Please fix the failing CI |
Reorder error codes so pause/resume errors come before analytics errors. This ensures tests pass with expected error codes: - SubscriptionPaused = 24 (was 27) - SubscriptionNotPaused = 28 (was 31) - Analytics errors now start at 29 All 39 tests now pass: ✓ test_pause_already_paused_subscription ✓ test_renew_paused_subscription ✓ test_resume_not_paused_subscription
Contributor
Author
|
Hi @truthixify I haven't receive my points yet🤲 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implement comprehensive analytics functions for attendance data including time tracking, frequency analysis, and pattern recognition capabilities.
Changes:
Features:
All acceptance criteria met:
Date range filtering on all analytics functions
Time-based queries (daily, weekly, monthly)
Attendance frequency calculations
User statistics (total hours, average daily attendance) ✓ Performance optimizations for large datasets
Pattern analysis (peak hours and days)
Report generation functions
Compiled successfully with no errors or warnings.