How ceasar789/dpnhsportal01 works
EduScribe is a school portal for Dela Paz National High School, combining role-based academic workflows with AI-assisted lesson planning and learning-resource generation. Users enter through public pages or sign-in; protected routes direct students, teachers, faculty, registrars, and administrators to role-specific dashboards. Those screens read and manage school records directly through Supabase, where authentication and row-level security apply. Teachers can also generate lesson plans through the Node API and Gemini. The graph follows README capabilities and sampled entry points; many individual dashboard operations and backend AI details were not sampled, so uncertain wiring is omitted.
Main entry points: AppRoutes.jsx Routes and guards · supabase.js Supabase client · TeacherDashboard.jsx Teacher dashboard · AdminDashboard.jsx Admin dashboard
Components 23
Portal and access
- Routes and guards
frontend/src/routes/AppRoutes.jsx - Authentication context
frontend/src/context/AuthContext.jsx - Public pages
frontend/src/pages/public/Home.jsx
Teaching and learning
- Student dashboard
frontend/src/pages/dashboards/student/StudentDashboard.jsx - Teacher dashboard
frontend/src/pages/dashboards/teacher/TeacherDashboard.jsx - Worksheet assessment
frontend/src/pages/dashboards/teacher/worksheets/useWorksheetAssessment.jsx - Student tasks
frontend/src/pages/dashboards/student/tabs/TasksTab.jsx - Lesson plan tools
frontend/src/components/ilaw/ILAWLessonPlanGenerator.jsx - AI generation
frontend/src/components/ilaw/hooks/useAIGeneration.js
School operations
- Registrar dashboard
frontend/src/pages/dashboards/registrar/RegistrarDashboard.jsx - Pre-enrollment
frontend/src/pages/dashboards/registrar/tabs/PreEnrollmentTab.jsx - Faculty dashboard
frontend/src/pages/dashboards/faculty/FacultyDashboard.jsx - Admin dashboard
frontend/src/pages/dashboards/admin/AdminDashboard.jsx - Academic configuration
frontend/src/pages/dashboards/admin/useAcademicLogic.jsx - Admin operations
frontend/src/pages/dashboards/admin/useAdminLogic.jsx
Application services
- Supabase client
frontend/src/config/supabase.js - Query retry
frontend/src/lib/supabaseRetry.js - Supabase platform
- Express API
backend/src/app.js - AI endpoint
backend/src/routes/ai.js - Gemini client
backend/src/lib/gemini.js
Other components
- School user
- Google Gemini
Connections 28
- School user → Routes and guards: opens
- Routes and guards → Public pages: routes public
- Routes and guards → Authentication context: provides auth
- Routes and guards → Student dashboard: guards student
- Routes and guards → Teacher dashboard: guards teacher
- Routes and guards → Faculty dashboard: guards faculty
- Routes and guards → Registrar dashboard: guards registrar
- Routes and guards → Admin dashboard: guards admin
- Authentication context → Supabase client: uses
- Student dashboard → Student tasks: shows tasks
- Student tasks → Supabase client: reads and writes
- Teacher dashboard → Worksheet assessment: uses assessment
- Worksheet assessment → Supabase client: reads and writes
- Teacher dashboard → Lesson plan tools: opens tools
- Lesson plan tools → AI generation: requests generation
- AI generation → Express API: requests AI
- Express API → AI endpoint: dispatches
- AI endpoint → Gemini client: calls
- Gemini client → Google Gemini: generates content
- Registrar dashboard → Pre-enrollment: manages
- Pre-enrollment → Supabase client: reads and writes
- Faculty dashboard → Supabase client: accesses records
- Admin dashboard → Academic configuration: configures academics
- Admin dashboard → Admin operations: manages school
- Academic configuration → Supabase client: reads and writes
- Admin operations → Supabase client: reads and writes
- Supabase client → Supabase platform: queries records
- Query retry → Supabase client: retries queries