-
Notifications
You must be signed in to change notification settings - Fork 0
Description
University Partnership Program
Linear Issue: SSC-18
Priority: High
Feature Type: B2B Enterprise Feature
Overview
Develop comprehensive B2B strategy and technical infrastructure for partnerships with universities at the institutional level. This includes professor/admin dashboards, LMS integrations (Canvas, Blackboard, Moodle), compliance features (FERPA, GDPR), and institutional licensing systems.
Business Goals
- Partner with 3-5 universities for pilot programs
- Secure paid institutional licenses
- Get endorsements from professors and departments
- Integrate with university LMS systems
- Demonstrate measurable student outcome improvements
Implementation Plan
📄 Full implementation plan: docs/SSC-18-IMPLEMENTATION-PLAN.md
Phase 1: Multi-Tenant Architecture (Commits 1-4)
Commit 1: Create Organization model
```prisma
model Organization {
id String @id @default(cuid())
name String
slug String @unique
type OrganizationType
domain String? // For SSO (e.g., "stanford.edu")
status OrganizationStatus
maxSeats Int?
currentSeats Int @default(0)
members OrganizationMember[]
courses Course[]
integrations LMSIntegration[]
billingInfo OrganizationBilling?
}
enum OrganizationType {
UNIVERSITY, COLLEGE, COMMUNITY_COLLEGE, ONLINE_UNIVERSITY, K12_SCHOOL
}
enum OrganizationStatus {
TRIAL, ACTIVE, SUSPENDED, CANCELLED, PILOT
}
```
Commit 2: Create role-based membership system
```prisma
model OrganizationMember {
organizationId String
userId String
role OrganizationRole
department String?
@@unique([organizationId, userId])
}
enum OrganizationRole {
OWNER, ADMIN, PROFESSOR, TEACHING_ASSISTANT, STUDENT
}
```
Commit 3: Create Course management models
```prisma
model Course {
id String @id @default(cuid())
organizationId String
externalId String? // LMS course ID
code String // "CS101"
name String
term String?
enrollments CourseEnrollment[]
sharedContent SharedContent[]
}
```
Phase 2: LMS Integration - LTI 1.3 (Commits 5-8)
Key Features
- LTI 1.3 Launch: SSO from Canvas/Blackboard/Moodle
- Deep Linking: Embed StudySync content in LMS
- Grade Passback: Sync scores back to LMS gradebook
- Roster Sync: Automatic enrollment from LMS
Supported Platforms
| Platform | LTI Version | Status |
|---|---|---|
| Canvas | LTI 1.3 | Primary |
| Blackboard | LTI 1.3 | Supported |
| Moodle | LTI 1.3 | Supported |
| D2L Brightspace | LTI 1.3 | Future |
Phase 3: SSO Integration - SAML 2.0 (Commits 9-10)
- SAML 2.0 authentication with university IdPs
- Automatic user provisioning from IdP attributes
- Role mapping from university directory
Phase 4: Professor Dashboard (Commits 11-14)
Features
- Course management (view enrolled students)
- Share flashcards/quizzes with classes
- View class-wide analytics
- Track individual student progress
- Identify at-risk students
- Assign required content with due dates
- Export class reports
Phase 5: Admin Dashboard (Commits 15-18)
Features
- Organization settings
- Member management (invite, remove, roles)
- Bulk user import via CSV
- Usage analytics and reports
- Seat management
- LMS integration configuration
- SSO configuration
- Audit log viewer
Phase 6: Billing & Licensing (Commits 19-21)
B2B Pricing Model
| Tier | Students | Annual Price |
|---|---|---|
| Tier 1 | Up to 1,000 | $10,000 |
| Tier 2 | 1,000-5,000 | $25,000 |
| Tier 3 | 5,000-15,000 | $50,000 |
| Enterprise | 15,000+ | Custom |
| Pilot | Up to 500 | Free |
Features
- Plan selection and setup
- Invoice generation
- Seat limit enforcement
- ROI calculator
- Usage-based billing option
Phase 7: Compliance & Audit (Commits 22-23)
FERPA (U.S.)
- Directory information controls
- Student consent management
- Data access audit logging
GDPR (EU)
- Data export (Article 20)
- Right to deletion (Article 17)
- Consent management
- Data processing documentation
Audit Logging
- All data access logged
- User actions tracked
- Admin actions tracked
- Export capabilities
API Endpoints
Organization Management
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/organizations |
Create organization |
| GET | /api/organizations/:id |
Get organization |
| GET | /api/organizations/:id/members |
List members |
| POST | /api/organizations/:id/members/invite |
Invite members |
| POST | /api/organizations/:id/members/bulk |
Bulk import |
Professor Dashboard
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/professor/courses |
My courses |
| GET | /api/professor/courses/:id/analytics |
Class analytics |
| GET | /api/professor/courses/:id/students |
Student progress |
| POST | /api/professor/courses/:id/share |
Share content |
LMS Integration (LTI 1.3)
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/lti/login |
LTI login initiation |
| POST | /api/lti/launch |
LTI launch callback |
| GET | /api/lti/jwks |
JWKS endpoint |
| POST | /api/lti/deep-link/response |
Deep link response |
Compliance
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/compliance/:orgId/export/:userId |
Export user data |
| DELETE | /api/compliance/:orgId/user/:userId |
Delete user data |
| GET | /api/compliance/:orgId/audit-logs |
Audit logs |
Checklist
Database Schema
- Organization model
- OrganizationMember with roles
- Course and CourseEnrollment
- SharedContent and ContentCompletion
- LMSIntegration model
- SSOConfiguration model
- OrganizationBilling model
- AuditLog model
LMS Integration
- LTI 1.3 launch flow
- JWKS key management
- Deep linking service
- Grade passback (AGS)
- Canvas certification
- Blackboard testing
- Moodle testing
SSO Integration
- SAML 2.0 service provider
- Metadata endpoint
- Attribute mapping
- Just-in-time provisioning
Professor Dashboard
- Course list view
- Student roster
- Class analytics charts
- Content sharing flow
- At-risk student alerts
- Export functionality
Admin Dashboard
- Organization overview
- Member management UI
- Bulk import interface
- Usage reports
- Billing management
- Audit log viewer
Billing
- Plan configuration
- Stripe integration for invoicing
- Seat limit enforcement
- ROI calculator
Compliance
- GDPR data export
- GDPR data deletion
- FERPA directory controls
- Audit log capture
- Privacy policy updates
Success Criteria
- All 24 commits completed and passing CI
- LMS integrations work with Canvas, Blackboard, Moodle
- SSO works with university IdPs
- Professor dashboard shows accurate student progress
- Admin can manage members and view usage
- Billing generates and tracks invoices
- Audit logs capture all required events
- FERPA/GDPR compliance functional
- 3 university pilots launched
- 1 paid institutional license secured
- Faculty testimonials collected
Dependencies
This feature depends on:
- Authentication System (SSC-10) ✅ Complete
- Subscription System (SSC-16) ✅ Complete
- Analytics System (SSC-17) - For class analytics
Integrates with:
- All existing features available to university users
Target University Types
- Large Public Universities - Volume play
- Liberal Arts Colleges - Student-focused
- Community Colleges - Accessibility focus
- Online Universities - Tech-forward
Partnership Benefits for Universities
- Improved student outcomes (grades, retention)
- Reduced academic support costs
- Modern learning tools
- Data insights on student performance
- Faculty time savings
Future Enhancements
- Automatic grade sync to LMS
- Assignment integration from LMS
- Proctoring service partnerships
- Advanced institutional analytics
- Developer API for custom integrations
- White-label option for universities
- Multi-campus enterprise support