Page: Student-Teacher Dashboard

Code: TDSH Route: /dashboard/teaching Access: Authenticated Priority: P0 Status: In Scope

Purpose

Central hub for Student-Teachers to manage their teaching schedule, track earnings, view their students, and handle teaching-related tasks.


Connections

Incoming (users arrive from)

Source Trigger Notes
LGIN Successful login (ST role) Default post-login
Nav "Dashboard" link Global navigation
SROM "Back to Dashboard" After teaching session
PROF "Dashboard" link From profile

Outgoing (users navigate to)

Target Trigger Notes
SROM "Join Session" Join teaching session
STPR "View My Profile" See public ST profile
PROF "Edit Profile" Edit profile settings
SETT "Availability" Manage teaching schedule
MSGS "Message Student" Contact a student
CDET Course title click View course info
(Payout) "Request Payout" Initiate payout (future)

Data Requirements

Entity Fields Used Purpose
sessions id, scheduled_start, student_id, course_id, status Teaching schedule
student_teachers course_id, students_taught, is_active Certification status
payment_splits amount_cents, status Earnings tracking
payouts amount_cents, status, paid_at Payout history
enrollments student_id, course_id My students list
users (students) name, avatar Student display
courses id, title Course info
certificates user_id, course_id, type, recommended_by Pending recommendations
homework_submissions id, status, student_id, assignment_id Pending homework reviews
homework_assignments id, title, course_id Assignment context

Sections

Header Bar

  • Greeting: "Welcome, Teacher [Name]!"
  • Availability toggle: "Available for Summon" (if goodwill enabled)
  • Quick stats: X students, Y sessions this week

Earnings Overview

  • **Pending Balance:** Amount awaiting payout
  • **Total Earned:** Lifetime earnings
  • **This Month:** Current month earnings
  • "View Earnings Details" → detailed breakdown
  • "Request Payout" button (if eligible)

Upcoming Teaching Sessions

  • Next 5 scheduled sessions
  • Each shows:
  • Empty state: "No sessions scheduled"

My Students

  • List of students currently learning from this ST
  • Each shows:
  • Grouped by course if teaching multiple

Pending Actions

  • **Certification Recommendations:**
  • **Intro Session Requests** (per CD-029):
  • **Homework Reviews:**
  • Empty state: "No pending actions"

Availability Quick View

  • Weekly calendar showing available slots
  • "Edit Availability" → SETT

Teaching Stats

  • Sessions completed this month
  • Average session rating
  • Students helped

User Stories Fulfilled

  • US-T013: Access ST-specific dashboard
  • US-T023: View teaching earnings
  • US-P061: Recommend students for certification

States & Variations

State Description
New ST Just certified, no sessions yet, onboarding tips
Active ST Sessions scheduled, students assigned
Session Starting "Join Now" prominently displayed
Payout Available Highlight pending balance, enable payout
Multi-Role Combined with student sections (unified dashboard)

Mobile Considerations

  • Earnings summary at top (primary concern for STs)
  • Sessions list scrollable
  • Sticky "Join Session" if imminent
  • Quick toggle for availability

Error Handling

Error Display
Data load fails "Unable to load dashboard. [Retry]"
Payout request fails "Unable to process. Please try again."

Analytics Events

Event Trigger Data
`page_view` Page load sessions_count, earnings_pending
`join_session` Join clicked session_id
`recommend_cert` Recommend clicked student_id, course_id
`view_earnings` Earnings detail clicked -
`request_payout` Payout clicked amount


Notes

  • Multi-role users: May see both learning + teaching sections
  • CD-033: ST gets 70% when teaching Creator's course content
  • CD-033: ST gets 85% when teaching their own content (no Creator)
  • Consider combining SDSH + TDSH into unified role-aware dashboard
  • Real-time notification for new session bookings
  • Payout requires active Stripe Connect (see SETT)