├── .github └── workflows │ ├── auto-add-to-project.yml │ ├── sync.yml │ └── test.yml ├── .gitignore ├── .gitlab-ci.yml ├── .hatch_build.py ├── CHANGELOG.md ├── LICENSE.txt ├── Makefile ├── README.rst ├── changelog.d ├── 20250723_121728_danyal.faheem_migrate_ruff.md └── scriv.ini ├── pyproject.toml ├── screenshots ├── courseoverview-01.png ├── courseoverview-02.png └── courseoverview-03.png └── tutorcairn ├── __about__.py ├── __init__.py ├── patches ├── .gitignore ├── caddyfile ├── k8s-deployments ├── k8s-jobs ├── k8s-services ├── k8s-volumes ├── kustomization-configmapgenerator ├── local-docker-compose-dev-services ├── local-docker-compose-jobs-services ├── local-docker-compose-permissions-command ├── local-docker-compose-permissions-volumes └── local-docker-compose-services ├── plugin.py └── templates └── cairn ├── apps ├── .gitignore ├── clickhouse │ ├── auth.json │ ├── migrations.d │ │ ├── 0001_create.sql │ │ ├── 0002_grades.sql │ │ ├── 0003_course_enrollments.sql │ │ ├── 0004_video_views.sql │ │ ├── 0005_course_blocks.sql │ │ ├── 0006_course_block_completion.sql │ │ ├── 0007_fix_video_segments.sql │ │ ├── 0008_rename_openedx_tables.sql │ │ ├── 0009_add_graded_column_to_course_blocks.sql │ │ ├── 0010_modify_graded_bool.sql │ │ ├── 0011_modify_events_type.sql │ │ ├── 0012_modify_course_enrollments.sql │ │ └── 0013_modify_course_block_completion.sql │ └── users.d │ │ └── cairn.xml ├── openedx │ └── scripts │ │ ├── importcoursedata.py │ │ └── server.py ├── superset │ ├── bootstrap │ │ └── courseoverview.json │ └── superset_config.py └── vector │ ├── file.toml │ ├── k8s.toml │ ├── local.toml │ └── partials │ ├── common-post.toml │ └── common-pre.toml ├── build ├── .gitignore ├── cairn-clickhouse │ ├── Dockerfile │ └── scripts │ │ └── cairn └── cairn-superset │ ├── Dockerfile │ └── cairn │ ├── __init__.py │ ├── bootstrap.py │ ├── ctl.py │ └── sso.py └── tasks ├── .gitignore ├── cairn-clickhouse └── init ├── cairn-openedx └── init └── cairn-superset └── init /.github/workflows/auto-add-to-project.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/.github/workflows/auto-add-to-project.yml -------------------------------------------------------------------------------- /.github/workflows/sync.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/.github/workflows/sync.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | !.gitignore 3 | TODO 4 | __pycache__ 5 | *.egg-info/ 6 | /build/ 7 | /dist/ 8 | -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /.hatch_build.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/.hatch_build.py -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/Makefile -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/README.rst -------------------------------------------------------------------------------- /changelog.d/20250723_121728_danyal.faheem_migrate_ruff.md: -------------------------------------------------------------------------------- 1 | - [Improvement] Migrate from pylint and black to ruff. (by @Danyal-Faheem) -------------------------------------------------------------------------------- /changelog.d/scriv.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/changelog.d/scriv.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/pyproject.toml -------------------------------------------------------------------------------- /screenshots/courseoverview-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/screenshots/courseoverview-01.png -------------------------------------------------------------------------------- /screenshots/courseoverview-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/screenshots/courseoverview-02.png -------------------------------------------------------------------------------- /screenshots/courseoverview-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/screenshots/courseoverview-03.png -------------------------------------------------------------------------------- /tutorcairn/__about__.py: -------------------------------------------------------------------------------- 1 | __version__ = "20.0.0" 2 | -------------------------------------------------------------------------------- /tutorcairn/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/patches/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/patches/caddyfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/caddyfile -------------------------------------------------------------------------------- /tutorcairn/patches/k8s-deployments: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/k8s-deployments -------------------------------------------------------------------------------- /tutorcairn/patches/k8s-jobs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/k8s-jobs -------------------------------------------------------------------------------- /tutorcairn/patches/k8s-services: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/k8s-services -------------------------------------------------------------------------------- /tutorcairn/patches/k8s-volumes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/k8s-volumes -------------------------------------------------------------------------------- /tutorcairn/patches/kustomization-configmapgenerator: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/kustomization-configmapgenerator -------------------------------------------------------------------------------- /tutorcairn/patches/local-docker-compose-dev-services: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/local-docker-compose-dev-services -------------------------------------------------------------------------------- /tutorcairn/patches/local-docker-compose-jobs-services: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/local-docker-compose-jobs-services -------------------------------------------------------------------------------- /tutorcairn/patches/local-docker-compose-permissions-command: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/local-docker-compose-permissions-command -------------------------------------------------------------------------------- /tutorcairn/patches/local-docker-compose-permissions-volumes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/local-docker-compose-permissions-volumes -------------------------------------------------------------------------------- /tutorcairn/patches/local-docker-compose-services: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/patches/local-docker-compose-services -------------------------------------------------------------------------------- /tutorcairn/plugin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/plugin.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/auth.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/auth.json -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0001_create.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0001_create.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0002_grades.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0002_grades.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0003_course_enrollments.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0003_course_enrollments.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0004_video_views.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0004_video_views.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0005_course_blocks.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0005_course_blocks.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0006_course_block_completion.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0006_course_block_completion.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0007_fix_video_segments.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0007_fix_video_segments.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0008_rename_openedx_tables.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0008_rename_openedx_tables.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0009_add_graded_column_to_course_blocks.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE course_blocks 2 | ADD COLUMN graded String DEFAULT 'false'; 3 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0010_modify_graded_bool.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE course_blocks 2 | MODIFY COLUMN graded Boolean DEFAULT false; 3 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0011_modify_events_type.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0011_modify_events_type.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0012_modify_course_enrollments.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0012_modify_course_enrollments.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0013_modify_course_block_completion.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/migrations.d/0013_modify_course_block_completion.sql -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/clickhouse/users.d/cairn.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/clickhouse/users.d/cairn.xml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/openedx/scripts/importcoursedata.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/openedx/scripts/importcoursedata.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/openedx/scripts/server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/openedx/scripts/server.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/superset/bootstrap/courseoverview.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/superset/bootstrap/courseoverview.json -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/superset/superset_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/superset/superset_config.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/vector/file.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/vector/file.toml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/vector/k8s.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/vector/k8s.toml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/vector/local.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/vector/local.toml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/vector/partials/common-post.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/vector/partials/common-post.toml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/apps/vector/partials/common-pre.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/apps/vector/partials/common-pre.toml -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-clickhouse/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-clickhouse/Dockerfile -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-clickhouse/scripts/cairn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-clickhouse/scripts/cairn -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-superset/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-superset/Dockerfile -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-superset/cairn/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-superset/cairn/bootstrap.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-superset/cairn/bootstrap.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-superset/cairn/ctl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-superset/cairn/ctl.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/build/cairn-superset/cairn/sso.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/build/cairn-superset/cairn/sso.py -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/tasks/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/tasks/cairn-clickhouse/init: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/tasks/cairn-clickhouse/init -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/tasks/cairn-openedx/init: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/tasks/cairn-openedx/init -------------------------------------------------------------------------------- /tutorcairn/templates/cairn/tasks/cairn-superset/init: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overhangio/tutor-cairn/HEAD/tutorcairn/templates/cairn/tasks/cairn-superset/init --------------------------------------------------------------------------------