How pakagronglb/full-stack-school-management works
EduSphere is a role-based school management system. Users sign in through Clerk, then access dashboards and school-operation pages for people, classes, schedules, assessments, results, attendance, events, and announcements. List pages query paginated, searchable records; authorized users can access forms for changes. The sampled pages show Prisma reads, and the student form excerpt shows submission through server actions. README capabilities and the tree identify other product areas, but their internal wiring is not established by the excerpts.
Main entry points: admin/page.tsx Role dashboards · prisma.ts Prisma client · [[...sign-in]]/page.tsx Sign in · middleware.ts Role access
Components 18
Identity and access
- Sign in
src/app/[[...sign-in]]/page.tsx - Clerk auth
- Role access
src/middleware.ts
Role dashboards
- Dashboard layout
src/app/(dashboard)/layout.tsx - Role dashboards
src/app/(dashboard)/admin/page.tsx
School records
- People records
src/app/(dashboard)/list/students/page.tsx - Teacher records
src/app/(dashboard)/list/teachers/page.tsx - Class and subject lists
src/app/(dashboard)/list/classes/page.tsx - People forms
src/components/forms/StudentForm.tsx
Learning operations
- Lessons and calendar
src/components/BigCalendarContainer.tsx - Exam and assignment lists
src/app/(dashboard)/list/exams/page.tsx - Results
src/app/(dashboard)/list/results/page.tsx - Attendance views
src/components/AttendanceChartContainer.tsx - Events and notices
src/components/EventCalendarContainer.tsx
Data services
- Server actions
src/lib/actions.ts - Prisma client
src/lib/prisma.ts - PostgreSQL
Other components
- School user
Connections 19
- School user → Sign in: signs in
- Sign in → Clerk auth: authenticates
- Clerk auth → Sign in: returns identity
- Clerk auth → Role access: provides claims
- Role access → Dashboard layout: permits role
- Dashboard layout → Role dashboards: renders role page
- Role dashboards → People records: opens records
- Role dashboards → Teacher records: opens records
- Role dashboards → Class and subject lists: opens records
- Role dashboards → Lessons and calendar: shows schedule
- Role dashboards → Exam and assignment lists: opens assessments
- Role dashboards → Results: opens results
- Role dashboards → Attendance views: shows attendance
- Role dashboards → Events and notices: shows events
- People forms → Server actions: submits changes
- People records → Prisma client: queries records
- Teacher records → Prisma client: queries records
- Results → Prisma client: queries results
- Prisma client → PostgreSQL: reads and writes