How norms7/ijed-experiment works
IJED LMS is a browser-based, role-based learning management system whose static frontend communicates directly with Supabase. Users authenticate, enter a role-specific dashboard, and complete administration, teaching, or student learning tasks through frontend controllers and a shared Supabase API. The product also includes calendar, attendance, notifications, and student performance analytics. README capabilities guide inclusion of unsampled areas; source excerpts directly support only selected controller and API interactions, so uncertain internal wiring is omitted.
Main entry points: lms-supabase-api.js Supabase API · dashboard.controller.js Role dashboard · index.html LMS interface · app.js App bootstrap
Components 22
Browser application
- LMS interface
lms-frontend/index.html - App bootstrap
lms-frontend/assets/js/app.js - Authentication
lms-frontend/controllers/auth.controller.js - Role dashboard
lms-frontend/controllers/dashboard.controller.js - Supabase API
lms-frontend/assets/js/lms-supabase-api.js - Notifications
lms-frontend/controllers/notification.controller.js
Learning workflows
- Modules and grading
lms-frontend/controllers/teacher.controller.js - Teacher gradebook
lms-frontend/controllers/gradebook.controller.js - Activity submissions
lms-frontend/controllers/student.controller.js - Calendar and todos
lms-frontend/controllers/calendar.controller.js - Attendance
lms-frontend/controllers/attendance.controller.js
Administration
- Admin management
lms-frontend/controllers/admin.controller.js - Protected user creation
supabase/functions/admin-create-user/index.ts
Analytics
- Analytics interface
lms-frontend/controllers/analytics.controller.js - Analytics calculations
lms-frontend/assets/js/analytics.engine.js
Supabase backend
- Supabase services
- PostgreSQL data
supabase-migration/01_schema.sql - RLS policies
supabase-migration/02_rls_policies.sql - Analytics RPCs
supabase-migration/03_functions.sql
Other components
- Administrator
- Teacher
- Student
Connections 29
- Administrator → LMS interface: uses
- Teacher → LMS interface: uses
- Student → LMS interface: uses
- LMS interface → App bootstrap: loads
- App bootstrap → Authentication: starts
- App bootstrap → Role dashboard: restores session
- Authentication → Supabase API: authenticates through
- Role dashboard → Supabase API: loads data through
- Role dashboard → Admin management: routes admin
- Role dashboard → Modules and grading: routes teacher
- Role dashboard → Activity submissions: routes student
- Role dashboard → Teacher gradebook: opens gradebook
- Admin management → Supabase API: manages records through
- Admin management → Protected user creation: creates accounts through
- Modules and grading → Supabase API: manages coursework through
- Teacher gradebook → Supabase API: loads grade data through
- Activity submissions → Supabase API: submits work through
- Calendar and todos → Supabase API: loads activities through
- Attendance → Supabase API: records attendance through
- Notifications → Supabase API: loads notifications through
- Analytics interface → Analytics calculations: requests analysis
- Analytics calculations → Supabase API: reads academic data through
- Analytics calculations → Analytics RPCs: calls protected analysis
- Supabase API → Supabase services: requests data and auth
- Protected user creation → Supabase services: uses privileged auth and data
- Supabase services → PostgreSQL data: reads and writes
- RLS policies → PostgreSQL data: restricts access
- Analytics RPCs → PostgreSQL data: computes aggregates from
- Supabase services → RLS policies: enforces