Skip to content

Add Enhanced Analytics Dashboard for Journeys and Integrations #113

@jjasloot

Description

@jjasloot

Summary

Introduce a robust analytics dashboard to provide users with deeper insights into their public transport journeys and integration usage.

Feature Details

  • Visualizations for trip frequency over time (with date range filters).
  • Rankings and heatmaps of most used routes and stations, with logic to address overlapping/via routes (e.g., breakdowns or segment grouping).
  • Integration statistics (imported trips, sync frequency, etc.).
  • Travel time trends (average journey duration, time-of-day patterns).
  • Coverage overview (unique routes/stations covered, with caveats for overlapping routes).
  • GitHub-style activity heatmap: Visualize user journey/activity per day, similar to the GitHub commits heatmap, to show periods of high and low travel activity.
  • Export option for analytics data (CSV, PNG, or PDF).

Special Considerations

  • Coverage Statistic:
    • Implement as a best-effort summary, and clearly explain ambiguity due to overlapping/partial routes. If possible, tackle this issue as well.
    • Consider network or schematic map visualization for user coverage, highlighting possible limitations.
  • Most Used Routes Caveat:
    • Merge or differentiate direct and via routes, or allow users to drill down for details.
    • Consider grouping by main segments and exposing breakdowns.
  • Activity Heatmap:
    • Daily/weekly journey activity visualization, inspired by GitHub's contributions graph.
    • Should be filterable by year and mode of transport.
  • Should be mobile-friendly and performant for large datasets.

Acceptance Criteria

  • Analytics dashboard page accessible from main navigation.
  • At least four types of visualizations implemented, including trip frequency and activity heatmap.
  • Users can filter and export analytics data.
  • Coverage and route usage statistics handle overlapping routes gracefully.

Implementation Notes

  • Use a charting library (Chart.js, D3.js, or similar).
  • Backend API endpoints for data aggregation as needed.
  • Provide clear documentation for statistics with known caveats.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions