Skip to content

YeboLearn Dashboards

Deep dive into the 5 role-based dashboards.

Dashboard Overview

DashboardURLTarget Users
Student Portalstudent.yebolearn.comStudents
Teacher Portalteacher.yebolearn.comTeachers
Parent Portalparent.yebolearn.comParents/Guardians
School Adminadmin.yebolearn.comSchool administrators
Super Adminplatform.yebolearn.comYeboLearn platform team

1. Student Dashboard

Location: yebolearn/dashboard-student/

Pages & Features

PageRouteFeatures
Home/Quick stats, upcoming classes, recent grades
Schedule/scheduleWeekly timetable, class details
Grades/gradesSubject grades, GPA, trends
Attendance/attendanceAttendance history, stats
AI Tutor/ai-tutorHomework help chatbot
Flashcards/flashcardsStudy decks, spaced repetition
Badges/badgesAchievements, leaderboard
Fees/feesFee statements, payment history
Messages/messagesTeacher/admin communication
Profile/profilePersonal info, settings

Key Components

src/
├── components/
│   ├── Dashboard/
│   │   ├── StatsCards.tsx       # Quick metrics
│   │   ├── UpcomingClasses.tsx  # Today's schedule
│   │   └── RecentGrades.tsx     # Latest scores
│   ├── Schedule/
│   │   ├── WeekView.tsx         # Calendar view
│   │   └── ClassCard.tsx        # Class details
│   ├── Grades/
│   │   ├── SubjectList.tsx      # Subjects with grades
│   │   ├── GradeChart.tsx       # Performance graph
│   │   └── GPACalculator.tsx    # GPA display
│   ├── AITutor/
│   │   ├── ChatInterface.tsx    # Chat UI
│   │   ├── MessageBubble.tsx    # Messages
│   │   └── SubjectSelector.tsx  # Topic picker
│   └── Gamification/
│       ├── BadgeGrid.tsx        # Achievement badges
│       ├── PointsDisplay.tsx    # XP/points
│       └── Leaderboard.tsx      # Class rankings
└── pages/
    └── [route].tsx              # Page components

2. Teacher Dashboard

Location: yebolearn/dashboard-teacher/

Pages & Features

PageRouteFeatures
Home/Today's classes, pending tasks
Classes/classesAssigned classes list
Class Detail/classes/:idStudent roster, analytics
Lessons/lessonsLesson plans, materials
Gradebook/gradebookGrade entry, bulk grading
Assessments/assessmentsCreate/manage assessments
Attendance/attendanceMark attendance
Analytics/analyticsClass performance insights
AI Assistant/aiLesson plans, quiz generation
Messages/messagesStudent/parent communication

Key Components

src/
├── components/
│   ├── Classes/
│   │   ├── ClassList.tsx        # All classes
│   │   ├── StudentRoster.tsx    # Class students
│   │   └── ClassAnalytics.tsx   # Performance charts
│   ├── Gradebook/
│   │   ├── GradeTable.tsx       # Spreadsheet-like entry
│   │   ├── BulkGradeModal.tsx   # Bulk entry form
│   │   └── GradeDistribution.tsx # Bell curve chart
│   ├── Attendance/
│   │   ├── AttendanceGrid.tsx   # Mark all students
│   │   ├── QuickMark.tsx        # Fast entry mode
│   │   └── AttendanceReport.tsx # Summary stats
│   ├── AI/
│   │   ├── LessonPlanGenerator.tsx
│   │   ├── QuizBuilder.tsx
│   │   ├── WorksheetGenerator.tsx
│   │   └── EssayGrader.tsx
│   └── Assessments/
│       ├── AssessmentBuilder.tsx # Create tests
│       ├── QuestionEditor.tsx    # Question types
│       └── RubricEditor.tsx      # Grading rubrics

3. Parent Dashboard

Location: yebolearn/dashboard-parent/

Pages & Features

PageRouteFeatures
Home/Children overview, alerts
Children/childrenList of linked children
Child Detail/children/:idFull child profile
Grades/children/:id/gradesAcademic performance
Attendance/children/:id/attendanceAttendance records
Fees/feesPayment portal
Messages/messagesTeacher communication
Reports/reportsAI-generated progress reports

Key Components

src/
├── components/
│   ├── Children/
│   │   ├── ChildCard.tsx        # Child overview card
│   │   ├── ChildSelector.tsx    # Switch between children
│   │   └── ProgressSummary.tsx  # Quick performance view
│   ├── Grades/
│   │   ├── SubjectGrades.tsx    # By subject breakdown
│   │   ├── TrendChart.tsx       # Performance over time
│   │   └── CompareTerms.tsx     # Term comparison
│   ├── Fees/
│   │   ├── FeeStatement.tsx     # Outstanding fees
│   │   ├── PaymentHistory.tsx   # Past payments
│   │   └── PaymentModal.tsx     # Make payment
│   └── Reports/
│       ├── DailyReport.tsx      # AI daily summary
│       ├── WeeklyReport.tsx     # Weekly insights
│       └── TermReport.tsx       # Full term report

4. School Admin Dashboard

Location: yebolearn/dashboard-school-admin/

Pages & Features

PageRouteFeatures
Home/School-wide stats
Students/studentsStudent management
Staff/staffTeacher/admin management
Classes/classesClass/section management
Subjects/subjectsCurriculum setup
Fees/feesFee structure, invoicing
Analytics/analyticsSchool performance
Settings/settingsSchool configuration

Key Components

src/
├── components/
│   ├── Dashboard/
│   │   ├── SchoolStats.tsx      # Total students, teachers
│   │   ├── AttendanceOverview.tsx # School attendance
│   │   └── FeeCollection.tsx    # Collection rate
│   ├── Students/
│   │   ├── StudentTable.tsx     # Paginated list
│   │   ├── StudentForm.tsx      # Add/edit student
│   │   ├── BulkImport.tsx       # CSV import
│   │   └── StudentFilters.tsx   # Search/filter
│   ├── Staff/
│   │   ├── StaffTable.tsx       # All staff
│   │   ├── TeacherForm.tsx      # Add teacher
│   │   └── SubjectAssignment.tsx # Assign subjects
│   ├── Classes/
│   │   ├── ClassManager.tsx     # CRUD classes
│   │   ├── TimetableBuilder.tsx # Schedule builder
│   │   └── StudentAssignment.tsx # Assign students
│   └── Analytics/
│       ├── PerformanceCharts.tsx # Grade distributions
│       ├── AttendanceCharts.tsx  # Trends
│       └── FinancialCharts.tsx   # Fee analytics

5. Super Admin Dashboard

Location: yebolearn/dashboard-super-admin/

Pages & Features

PageRouteFeatures
Home/Platform overview
Schools/schoolsAll schools management
Onboarding/onboardingPending applications
Users/usersPlatform user management
Analytics/analyticsPlatform-wide metrics
Audit/auditSecurity audit logs
Settings/settingsPlatform configuration

Key Components

src/
├── components/
│   ├── Schools/
│   │   ├── SchoolTable.tsx      # All schools
│   │   ├── SchoolDetail.tsx     # Single school view
│   │   ├── CreateSchool.tsx     # Manual school creation
│   │   └── SubscriptionManager.tsx # Billing
│   ├── Onboarding/
│   │   ├── ApplicationQueue.tsx # Pending requests
│   │   ├── ApplicationReview.tsx # Review form
│   │   └── ApprovalActions.tsx  # Approve/reject
│   ├── Analytics/
│   │   ├── PlatformStats.tsx    # Total users, schools
│   │   ├── GrowthCharts.tsx     # Growth over time
│   │   └── CountryBreakdown.tsx # Geographic data
│   └── Audit/
│       ├── AuditLogTable.tsx    # Security events
│       ├── AuditFilters.tsx     # Filter by action/user
│       └── AuditDetail.tsx      # Event details

Shared Components

All dashboards share common components from a shared library:

shared/
├── components/
│   ├── Layout/
│   │   ├── Sidebar.tsx          # Navigation
│   │   ├── Header.tsx           # Top bar
│   │   └── PageWrapper.tsx      # Layout container
│   ├── UI/
│   │   ├── Button.tsx
│   │   ├── Input.tsx
│   │   ├── Modal.tsx
│   │   ├── Table.tsx
│   │   ├── Card.tsx
│   │   └── ... (shadcn/ui)
│   ├── Auth/
│   │   ├── LoginForm.tsx
│   │   ├── AuthGuard.tsx
│   │   └── RoleGuard.tsx
│   └── Common/
│       ├── LoadingSpinner.tsx
│       ├── ErrorBoundary.tsx
│       └── EmptyState.tsx
├── hooks/
│   ├── useAuth.ts
│   ├── useApi.ts
│   └── useToast.ts
├── lib/
│   ├── api.ts                   # API client
│   └── utils.ts                 # Helpers
└── types/
    └── index.ts                 # Shared types

Tech Stack

All dashboards use:

TechnologyPurpose
React 18UI framework
TypeScriptType safety
React RouterNavigation
TanStack QueryData fetching/caching
ZustandState management
shadcn/uiUI components
Tailwind CSSStyling
Chart.jsData visualization
date-fnsDate handling

One chat. Everything done.