Skip to content

Add parent/teacher progress dashboard #166

@JesseRWeigel

Description

@JesseRWeigel

Summary

Add a progress dashboard view for parents and teachers to review a student's learning analytics. This helps identify strengths, weaknesses, and learning patterns. Inspired by Alpha School's data-driven approach to identifying and addressing learning gaps.

⚠️ NEEDS DISCUSSION: This feature needs maintainer input on scope, privacy considerations, and whether data should remain local-only or support any form of sharing/export. Please comment with preferences before starting work.

Implementation Details

  • Access: Separate view accessible via a settings menu option or a URL parameter (e.g., ?view=dashboard). Consider a simple PIN or toggle to prevent kids from accidentally entering it.
  • Analytics charts:
    • Accuracy over time per operation: Line chart showing accuracy % trends for addition, subtraction, multiplication, division
    • Time spent per session: Bar chart showing daily/weekly practice time
    • Problems solved per day: Bar chart showing daily problem count
    • Speed trends: Average time-to-answer over time
  • Weakness identification: Highlight the weakest operation/difficulty combination and suggest targeted practice (e.g., "Needs more practice with Hard Division").
  • Data export: Export all progress data as CSV for use in spreadsheets or school systems.
  • Data source: All data comes from localStorage — the same data tracked by the game.
  • Charting: Use a lightweight charting library (e.g., Chart.js or Recharts since the project uses React).

Acceptance Criteria

  • Dashboard view is accessible from settings or URL parameter
  • Accuracy over time chart renders per operation
  • Time spent per session chart renders
  • Problems solved per day chart renders
  • Weakest area is identified and highlighted with a recommendation
  • Data can be exported as CSV
  • Dashboard reads from existing localStorage game data
  • Dashboard is read-only (cannot modify game progress)

Notes

  • This issue is marked as needing discussion. Privacy and scope need to be decided before implementation.
  • All data is currently local-only (localStorage). This keeps things simple and private but means data doesn't sync across devices.
  • Consider what happens when localStorage is cleared — the dashboard should handle empty/missing data gracefully.
  • The dashboard should be responsive but is primarily a desktop/tablet feature.
  • Future enhancement: optional cloud sync for multi-device families (out of scope for this issue).

Metadata

Metadata

Assignees

No one assigned

    Labels

    educationLearning and pedagogy improvementsfeatureNew feature or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions