1
Understand What This Is
This is a mock/prototype application that demonstrates the user interface and workflow for LTI Advantage integration between a Learning Management System (LMS) and educational content.
⚠️ Important: This is NOT a production-ready LTI implementation. Real LTI requires server-side authentication, OAuth 2.0, and JWT validation. This demo is for UI/UX testing and demonstration purposes only.
3
Test Scenario 1: New Teacher, New Course
This scenario simulates a teacher who has never used the system before, launching from a new course.
Sample Data to Use:
- LMS Platform: Canvas
- Course ID: course_algebra_2026
- Course Name: Algebra 1 - Period 3
- User Role: Teacher/Instructor
- LTI User ID: teacher_new_001
- User Email: [email protected]
- User Name: Jane Smith
Expected Flow:
- Fill in the LTI launch form with the data above
- Click "Launch Application"
- LURE Check: System searches for teacher (won't find them)
- Organization Selection: Select "Riverside High School" and click Continue
- Course Setup:
- Select "Riverside High School" for the course
- Select "Algebra 1 Interactive" product
- Click "Complete Setup"
- Content Library: Browse available content
- Create Assignment: Click "Create Assignment" on any content item
- Fill in assignment details and click "Publish Assignment"
4
Test Scenario 2: Returning Teacher, Existing Course
This scenario simulates a teacher returning to a course they've already set up.
Use the SAME data from Scenario 1:
- LTI User ID: teacher_new_001 (same as before)
- Course ID: course_algebra_2026 (same as before)
Expected Flow:
- Launch with the same teacher and course IDs
- LURE Check: System finds the teacher account
- Course Check: System finds the existing course
- Goes directly to Content Library
- No setup required!
💡 Tip: This demonstrates how the system remembers teacher accounts and course configurations across multiple launches.
5
Test Scenario 3: Returning Teacher, New Course
This scenario simulates an existing teacher launching from a different course for the first time.
Sample Data to Use:
- LTI User ID: teacher_new_001 (existing teacher)
- Course ID: course_biology_2026 (NEW course)
- Course Name: Biology - Period 5
Expected Flow:
- Launch with existing teacher ID but new course ID
- LURE Check: System finds teacher account ✓
- Course Check: System doesn't find this course
- Course Setup: Only organization and product selection needed
- Select "Biology Essentials" as the product
- Complete setup and access content library
6
Explore Features
Content Library
- Filter content by product and type
- View content details (chapter, points, description)
- Create assignments from any content item
Assignment Publisher Builder
- Customize assignment title
- Set points possible
- Configure due date
- Toggle LMS gradebook sync
Assignments Dashboard
- Click "View My Assignments" from content library
- See all published assignments
- View sync status (synced to LMS or not)
- Simulate grade passback to LMS
Grade Passback Simulation
- From assignments dashboard, click "Simulate Grade Passback"
- Watch the system simulate sending a grade to the LMS
- In production, this would use LTI AGS (Assignment and Grade Services)
7
Understanding the Data Flow
RESTful Table API
The application uses a RESTful API for data persistence. You can inspect the data:
Teachers: GET tables/teachers
Courses: GET tables/courses
Products: GET tables/products
Content: GET tables/content_items
Assignments: GET tables/assignments
Grades: GET tables/grades
💡 Pro Tip: Open browser DevTools (F12) and check the Network tab to see all API calls in real-time as you use the application.
8
Common Issues & Solutions
Issue: "No content items found"
Solution: Make sure you've selected at least one product during course setup. Only content from selected products will appear.
Issue: Can't complete course setup
Solution: You must select both an organization AND at least one product. The "Complete Setup" button is disabled until both are selected.
Issue: Want to test different scenarios
Solution: Click "Log Out" in the header to reset the application and start fresh with a new scenario.
9
What This Demonstrates
Teacher Workflow ✅
- LTI launch from LMS
- Teacher authentication and account management
- Course setup and configuration
- Content browsing and filtering
- Assignment creation and publishing
- Grade passback workflow
Technical Concepts ✅
- LTI 1.3 Advantage launch flow
- LURE (Identity Management) integration
- Multi-organization support
- Course-product associations
- LTI AGS (Assignment and Grade Services)
- Background process simulation (class/section creation)
10
Next Steps
After exploring the demo, you can:
- Review the README.md for technical details
- Examine the code in
js/app.js to understand the implementation
- Review the data schemas and API endpoints
- Plan production implementation with real LTI authentication
- Design student-facing features
- Add analytics and reporting capabilities
⚠️ Production Requirements:
To deploy this as a real LTI application, you need:
- Backend server (Node.js, Python, etc.)
- OAuth 2.0 and JWT authentication
- LTI platform registration
- Secure credential storage
- Real database (PostgreSQL, MySQL, etc.)
- HTTPS/SSL certificates
- Security audit and compliance review