From 3fd219d513a3a9cf7640db18276db15d6d3d00a8 Mon Sep 17 00:00:00 2001 From: Ananya Date: Thu, 18 Jun 2026 00:17:45 +0530 Subject: [PATCH 1/3] course materials --- migrations/0006_add_course_materials.sql | 17 + public/activity.html | 769 +++++++++------------ public/course-materials.html | 598 +++++++++++++++++ public/js/activity.js | 812 +++++++++++++++++++++++ src/api/materials.py | 496 ++++++++++++++ src/worker.py | 92 +++ tests/test_api_materials.py | 662 ++++++++++++++++++ wrangler.toml | 6 + 8 files changed, 2999 insertions(+), 453 deletions(-) create mode 100644 migrations/0006_add_course_materials.sql create mode 100644 public/course-materials.html create mode 100644 public/js/activity.js create mode 100644 src/api/materials.py create mode 100644 tests/test_api_materials.py diff --git a/migrations/0006_add_course_materials.sql b/migrations/0006_add_course_materials.sql new file mode 100644 index 0000000..b7d5092 --- /dev/null +++ b/migrations/0006_add_course_materials.sql @@ -0,0 +1,17 @@ +-- Migration 0004: Add course_materials table for activity file attachments + +CREATE TABLE IF NOT EXISTS course_materials ( + id TEXT PRIMARY KEY, + activity_id TEXT NOT NULL, + title TEXT NOT NULL, + description TEXT, + file_key TEXT NOT NULL, + uploaded_by TEXT, + created_at TEXT NOT NULL DEFAULT (datetime('now')), + FOREIGN KEY (activity_id) REFERENCES activities(id) ON DELETE CASCADE, + FOREIGN KEY (uploaded_by) REFERENCES users(id) ON DELETE SET NULL +); + +CREATE INDEX IF NOT EXISTS idx_materials_activity ON course_materials(activity_id); +CREATE INDEX IF NOT EXISTS idx_materials_uploader ON course_materials(uploaded_by); +CREATE INDEX IF NOT EXISTS idx_materials_created ON course_materials(activity_id, created_at DESC); diff --git a/public/activity.html b/public/activity.html index 5dde4c0..d1f7daa 100644 --- a/public/activity.html +++ b/public/activity.html @@ -9,73 +9,77 @@ @@ -86,27 +90,21 @@
-
-
-

Discover Learning Activities

Browse courses, meetups, workshops, and study groups. All sessions encrypted and secure.

- -
@@ -129,35 +127,25 @@

-
- -
- - -
- -
- +
-
- -
+ +
-
-
-

- Loading... -

+

Loading...

Loading metadata...

- -

@@ -190,405 +173,285 @@

- -
-
- - - + +
+ + + + + +
+

+ Welcome! +

+

Loading welcome message...

-
    -
  • - Loading... -
  • -
+
+
- - - -
- - -