Conversation
Bumps the bundler group with 1 update in the / directory: [net-imap](https://github.com/ruby/net-imap). Updates `net-imap` from 0.6.4 to 0.6.4.1 - [Release notes](https://github.com/ruby/net-imap/releases) - [Commits](ruby/net-imap@v0.6.4...v0.6.4.1) --- updated-dependencies: - dependency-name: net-imap dependency-version: 0.6.4.1 dependency-type: indirect dependency-group: bundler ... Signed-off-by: dependabot[bot] <support@github.com>
- Included Trackable module in ApplicationController for tracking purposes. - Added new analytics jobs in recurring.yml for hourly, daily rollup, and pruning. - Updated queue.yml to configure analytics queue with specific threading and polling settings. - Defined route for analytics dashboard in routes.rb. - Enhanced layout views to include links to the analytics dashboard for authorized users. - Added Chart.js to importmap for data visualization support.
- Created tables for analytics_daily_rollups and analytics_hourly_rollups with relevant columns for tracking user interactions. - Added sequences for both tables to manage primary key generation. - Established primary key constraints and unique indexes to ensure data integrity and optimize query performance. - Included additional table for page_views with corresponding sequence and constraints for comprehensive analytics tracking.
- Implemented a refresh action in the AnalyticsDashboardController to trigger rollup jobs synchronously, allowing immediate chart updates. - Updated the analytics dashboard view to include a refresh button and a notice for stale data. - Modified the analytics policy to authorize the refresh action for admin users. - Adjusted routes to include a POST endpoint for refreshing analytics data. - Enhanced the PageView model with live summary and top pages methods to provide real-time analytics data. - Improved data handling in the controller to ensure top pages and summary stats reflect current data without waiting for rollup jobs.
- Modified the properties layer in tailwind.css to enhance support for various CSS features. - Updated theme and base layers to ensure consistent styling and improved layout handling. - Adjusted spacing and color variables for better design flexibility and responsiveness.
- Converted analytics dashboard views from HAML to ERB format for consistency. - Added new partials for stat cards and building rows to enhance modularity. - Updated Gemfile to remove HAML-related gems and dependencies. - Adjusted importmap to include Chart.js for improved data visualization. - Enhanced the .gitignore to exclude .OLD files and HAML files.
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.
This pull request introduces a comprehensive analytics and page view tracking system, including backend models, jobs, policies, and a frontend dashboard with charting. The main changes are the addition of page view tracking via a new
Trackableconcern, scheduled rollup jobs for analytics aggregation, and a new analytics dashboard for admins. It also removes HAML-related gems from the Gemfile.Analytics tracking and aggregation:
Trackableconcern toApplicationControllerto automatically track page views for each request, capturing session, user, path, device, and timing data, and enqueuing a background job to persist the data (app/controllers/concerns/trackable.rb,app/controllers/application_controller.rb,app/jobs/track_page_view_job.rb) [1] [2] [3].PageView(raw event storage),AnalyticsHourlyRollup, andAnalyticsDailyRollup(aggregated data), with methods for rollup, pruning, and summary statistics (app/models/page_view.rb,app/models/analytics_hourly_rollup.rb,app/models/analytics_daily_rollup.rb) [1] [2] [3].AnalyticsRollupJobto aggregate raw page views into hourly and daily rollups and prune old data, supporting both scheduled and manual execution (app/jobs/analytics_rollup_job.rb).Analytics dashboard UI:
AnalyticsDashboardControllerand an associated admin-only policy, providing endpoints to view analytics charts, top pages, and summary stats, with a manual refresh action to trigger rollups (app/controllers/analytics_dashboard_controller.rb,app/policies/analytics_dashboard_policy.rb) [1] [2].app/javascript/controllers/analytics_chart_controller.js,app/javascript/controllers/index.js) [1] [2] [3].app/views/analytics_dashboard/_stat_card.html.erb).Gemfile cleanup:
haml-railsanderb2hamlgems, indicating a move away from HAML templates (Gemfile) [1] [2].