Deliverables
Technical report
Technical discovery to support the delivery of reporting capabilities for the Open edX platform which will provide up to 6 reports once implemented.
The target reports are:
(Instructor) Enrollment Activity - detailing learner enrollments and unenrollments over time
(Instructor) Engagement - detailing how learners interact with video and problem content
(Instructor) Performance - detailing how learners perform on graded and ungraded problems
(Instructor) Video Timeline - detailing which parts of each video in a course are watched most
(Admin) xAPI Statements - showing how many total xAPI statements are processed over time
(Admin) Active Learners - showing how many distinct actor ids are processed over time
In general, the resulting deliverable, a discovery document, should contain:
Clear and unambiguous technical recommendations for the development of a dbt project using the ClickHouse backend, and set of Apache Superset dashboards;
Rationale used to reach conclusions in clear and concise language, including code samples and other visual aids where appropriate; and
Explicit references, including but not limited to citations from other sources or results from experimental findings, to support said recommendations.
In particular the recommendations should cover:
dbt project structure
data materialization strategies
performance characteristics
any additional data beyond what is currently being made available to the reporting system.
Reference implementation
The implementation of the above recommendations, once approved by NP, in a reference implementation of the Target Reports that should include:
A functioning dbt project written against the ClickHouse backend using test data
An instructor dashboard authored in Apache Superset, using the dbt materialized data, with charts for each “Instructor” Target Report
An admin dashboard authored in Apache Superset, using the dbt materialized data, with charts for each “Admin” Target Report