Skip to content

Add privacy-conscious course analytics - #37

Merged
mre merged 2 commits into
mainfrom
feat/course-analytics
Aug 4, 2026
Merged

Add privacy-conscious course analytics#37
mre merged 2 commits into
mainfrom
feat/course-analytics

Conversation

@mre

@mre mre commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

  • add a versioned SQLite event stream for chapter views, editor focus, hints, solution reveals, next-chapter navigation, and trusted server-side run outcomes
  • capture test counts, run duration, and structured Rust error codes without storing source, names, URLs, user agents, or arbitrary metadata
  • instrument the dashboard warm-up, quick tour, and exercise pages
  • remove 195 obsolete or malformed submission rows through an explicit migration
  • document the schema and useful analysis queries

Validation

  • cargo test --locked --lib --bins
  • cargo clippy --locked --lib --bins -- -D warnings
  • cargo fmt --all --check
  • ./scripts/check-examples.sh
  • REQUIRE_COMPLETE=1 ./scripts/check-solutions.sh
  • node --check static/js/analytics.js
  • node --check static/js/inline-editor.js
  • applied migration 011 to a production DB snapshot: 1491 -> 1296 submissions, with zero listed obsolete rows remaining

@mre
mre merged commit 2603748 into main Aug 4, 2026
4 checks passed
@mre
mre deleted the feat/course-analytics branch August 4, 2026 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant