feat: Implement LTI deep linking, live sessions, predictive analytics, and portfolios with associated UI and database migrations.

This commit is contained in:
2026-02-24 09:37:16 -03:00
parent 7f7ea3d70c
commit 04dbe05704
81 changed files with 4119 additions and 249 deletions
@@ -0,0 +1,24 @@
CREATE TABLE meetings (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
organization_id UUID NOT NULL REFERENCES organizations(id),
course_id UUID NOT NULL REFERENCES courses(id),
title TEXT NOT NULL,
description TEXT,
provider TEXT NOT NULL DEFAULT 'jitsi',
meeting_id TEXT NOT NULL,
start_at TIMESTAMPTZ NOT NULL,
duration_minutes INTEGER NOT NULL,
join_url TEXT,
is_active BOOLEAN NOT NULL DEFAULT true,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Index for quick lookup of course meetings
CREATE INDEX idx_meetings_course ON meetings(course_id);
-- Trigger for updated_at
CREATE TRIGGER update_meetings_updated_at
BEFORE UPDATE ON meetings
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();