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
Phase 5: Admin Dashboard (Commits 15-18)
Features
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
Phase 7: Compliance & Audit (Commits 22-23)
FERPA (U.S.)
GDPR (EU)
Audit Logging
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
LMS Integration
SSO Integration
Professor Dashboard
Admin Dashboard
Billing
Compliance
Success Criteria
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
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
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
Supported Platforms
Phase 3: SSO Integration - SAML 2.0 (Commits 9-10)
Phase 4: Professor Dashboard (Commits 11-14)
Features
Phase 5: Admin Dashboard (Commits 15-18)
Features
Phase 6: Billing & Licensing (Commits 19-21)
B2B Pricing Model
Features
Phase 7: Compliance & Audit (Commits 22-23)
FERPA (U.S.)
GDPR (EU)
Audit Logging
API Endpoints
Organization Management
/api/organizations/api/organizations/:id/api/organizations/:id/members/api/organizations/:id/members/invite/api/organizations/:id/members/bulkProfessor Dashboard
/api/professor/courses/api/professor/courses/:id/analytics/api/professor/courses/:id/students/api/professor/courses/:id/shareLMS Integration (LTI 1.3)
/api/lti/login/api/lti/launch/api/lti/jwks/api/lti/deep-link/responseCompliance
/api/compliance/:orgId/export/:userId/api/compliance/:orgId/user/:userId/api/compliance/:orgId/audit-logsChecklist
Database Schema
LMS Integration
SSO Integration
Professor Dashboard
Admin Dashboard
Billing
Compliance
Success Criteria
Dependencies
This feature depends on:
Integrates with:
Target University Types
Partnership Benefits for Universities
Future Enhancements