# booksbigchange-rgb/bigchange-student-hub architecture

> Architecture diagram of the GitHub repository booksbigchange-rgb/bigchange-student-hub, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/booksbigchange-rgb/bigchange-student-hub
- Repository: https://github.com/booksbigchange-rgb/bigchange-student-hub

## Overview

Globussoft Open School MIS is a school-management and learning platform. A principal workflow begins with school staff using the web dashboard to manage admissions and student records, then run attendance, teaching and learning, assessments, grading, and reporting; families and students also use role-based views. The API exposes these domains as NestJS modules, with shared data persisted through Prisma and MySQL as documented. The README supplies the broader capability map; sampled controller excerpts confirm specific service dispatches, but most service internals and frontend API wiring were not inspected.

Main entry points: [`packages/api/src/app.module.ts`](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/app.module.ts) (API application), [`packages/api/src/modules/payroll/payroll.controller.ts`](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/payroll/payroll.controller.ts) (Staff payroll), [`packages/api/src/modules/bus/bus.controller.ts`](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/bus/bus.controller.ts) (Transport operations), [`packages/api/src/modules/hostel/hostel.controller.ts`](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/hostel/hostel.controller.ts) (Hostel operations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Web experience"]
  node_web_dashboard["Role dashboards<br/>[page.tsx]"]
  node_web_admissions["Admissions UI<br/>[page.tsx]"]
  node_web_learning["Learning UI<br/>[page.tsx]"]
  node_web_assessments["Assessment UI<br/>[page.tsx]"]
  node_web_fees["Finance UI<br/>[page.tsx]"]
end

subgraph group_identity["Identity and access"]
  node_api_app["API application<br/>[app.module.ts]"]
  node_api_auth["Authentication<br/>[auth.service.ts]"]
end

subgraph group_academics["Academic lifecycle"]
  node_api_students["Student records"]
  node_api_admission["Admission pipeline"]
  node_api_school_data["School structure"]
  node_api_attendance["Attendance"]
  node_api_timetable["Timetabling"]
  node_api_teaching["Teaching tracker"]
  node_api_lms["LMS and coursework"]
  node_api_assessments["Assessment and grading"]
  node_api_results["Results workflow"]
  node_api_analytics["Analytics and reports"]
end

subgraph group_operations["School operations"]
  node_api_fees["Fees and billing"]
  node_api_payroll["Staff payroll"]
  node_api_transport["Transport operations<br/>[bus.controller.ts]"]
  node_api_hostel["Hostel operations"]
  node_api_communication["Family communication"]
  node_api_events["Events"]
  node_api_expenses["Expense approvals"]
end

node_school_user(("School users"))
node_data_store[("MySQL data")]

node_school_user -->|"uses"| node_web_dashboard
node_school_user -->|"manages admissions"| node_web_admissions
node_school_user -->|"tracks teaching"| node_web_learning
node_school_user -->|"reviews results"| node_web_assessments
node_school_user -->|"manages fees"| node_web_fees
node_api_app -->|"provides identity"| node_api_auth
node_api_app -->|"exposes"| node_api_students
node_api_app -->|"exposes"| node_api_admission
node_api_app -->|"exposes"| node_api_school_data
node_api_app -->|"exposes"| node_api_attendance
node_api_app -->|"exposes"| node_api_timetable
node_api_app -->|"exposes"| node_api_teaching
node_api_app -->|"exposes"| node_api_lms
node_api_app -->|"exposes"| node_api_assessments
node_api_app -->|"exposes"| node_api_results
node_api_app -->|"exposes"| node_api_analytics
node_api_app -->|"exposes"| node_api_fees
node_api_app -->|"exposes"| node_api_payroll
node_api_app -->|"exposes"| node_api_transport
node_api_app -->|"exposes"| node_api_hostel
node_api_app -->|"exposes"| node_api_communication
node_api_app -->|"exposes"| node_api_events
node_api_app -->|"exposes"| node_api_expenses
node_api_transport -->|"persists records"| node_data_store
node_api_hostel -->|"persists allocations"| node_data_store
node_api_events -->|"persists events"| node_data_store
node_api_expenses -->|"persists approvals"| node_data_store
node_api_payroll -->|"manages payroll data"| node_data_store

click node_web_dashboard "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/dashboard/page.tsx"
click node_web_admissions "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/admission/page.tsx"
click node_web_learning "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/teaching/page.tsx"
click node_web_assessments "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/assessments/page.tsx"
click node_web_fees "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/fees/page.tsx"
click node_api_app "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/app.module.ts"
click node_api_auth "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/auth/auth.service.ts"
click node_api_students "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/students"
click node_api_admission "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/admission"
click node_api_school_data "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/school-data/school-data.controller.ts"
click node_api_attendance "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/attendance"
click node_api_timetable "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/timetable-generator"
click node_api_teaching "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/teaching/teaching.controller.ts"
click node_api_lms "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/lms-content"
click node_api_assessments "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/assessments"
click node_api_results "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/result-workflow"
click node_api_analytics "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/analytics"
click node_api_fees "https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/fees"
click node_api_payroll "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/payroll/payroll.controller.ts"
click node_api_transport "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/bus/bus.controller.ts"
click node_api_hostel "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/hostel/hostel.controller.ts"
click node_api_communication "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/communication/communication.controller.ts"
click node_api_events "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/events/events.controller.ts"
click node_api_expenses "https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/expenses/expenses.controller.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web_dashboard,node_web_admissions,node_web_learning,node_web_assessments,node_web_fees,node_school_user toneBlue
class node_api_app,node_api_auth,node_data_store toneAmber
class node_api_students,node_api_admission,node_api_school_data,node_api_attendance,node_api_timetable,node_api_teaching,node_api_lms,node_api_assessments,node_api_results,node_api_analytics toneMint
class node_api_fees,node_api_payroll,node_api_transport,node_api_hostel,node_api_communication,node_api_events,node_api_expenses toneRose
```

## Components

### Web experience

- [Role dashboards](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/dashboard/page.tsx): `packages/web/src/app/(dashboard)/dashboard/page.tsx`
- [Admissions UI](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/admission/page.tsx): `packages/web/src/app/(dashboard)/admission/page.tsx`
- [Learning UI](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/teaching/page.tsx): `packages/web/src/app/(dashboard)/teaching/page.tsx`
- [Assessment UI](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/assessments/page.tsx): `packages/web/src/app/(dashboard)/assessments/page.tsx`
- [Finance UI](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/web/src/app/(dashboard)/fees/page.tsx): `packages/web/src/app/(dashboard)/fees/page.tsx`

### Identity and access

- [API application](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/app.module.ts): `packages/api/src/app.module.ts`
- [Authentication](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/auth/auth.service.ts): `packages/api/src/modules/auth/auth.service.ts`

### Academic lifecycle

- [Student records](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/students): `packages/api/src/modules/students`
- [Admission pipeline](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/admission): `packages/api/src/modules/admission`
- [School structure](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/school-data/school-data.controller.ts): `packages/api/src/modules/school-data/school-data.controller.ts`
- [Attendance](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/attendance): `packages/api/src/modules/attendance`
- [Timetabling](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/timetable-generator): `packages/api/src/modules/timetable-generator`
- [Teaching tracker](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/teaching/teaching.controller.ts): `packages/api/src/modules/teaching/teaching.controller.ts`
- [LMS and coursework](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/lms-content): `packages/api/src/modules/lms-content`
- [Assessment and grading](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/assessments): `packages/api/src/modules/assessments`
- [Results workflow](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/result-workflow): `packages/api/src/modules/result-workflow`
- [Analytics and reports](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/analytics): `packages/api/src/modules/analytics`

### School operations

- [Fees and billing](https://github.com/booksbigchange-rgb/bigchange-student-hub/tree/main/packages/api/src/modules/fees): `packages/api/src/modules/fees`
- [Staff payroll](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/payroll/payroll.controller.ts): `packages/api/src/modules/payroll/payroll.controller.ts`
- [Transport operations](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/bus/bus.controller.ts): `packages/api/src/modules/bus/bus.controller.ts`
- [Hostel operations](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/hostel/hostel.controller.ts): `packages/api/src/modules/hostel/hostel.controller.ts`
- [Family communication](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/communication/communication.controller.ts): `packages/api/src/modules/communication/communication.controller.ts`
- [Events](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/events/events.controller.ts): `packages/api/src/modules/events/events.controller.ts`
- [Expense approvals](https://github.com/booksbigchange-rgb/bigchange-student-hub/blob/main/packages/api/src/modules/expenses/expenses.controller.ts): `packages/api/src/modules/expenses/expenses.controller.ts`

### Other components

- **School users**
- **MySQL data**

## Connections

- School users → Role dashboards: uses
- School users → Admissions UI: manages admissions
- School users → Learning UI: tracks teaching
- School users → Assessment UI: reviews results
- School users → Finance UI: manages fees
- API application → Authentication: provides identity
- API application → Student records: exposes
- API application → Admission pipeline: exposes
- API application → School structure: exposes
- API application → Attendance: exposes
- API application → Timetabling: exposes
- API application → Teaching tracker: exposes
- API application → LMS and coursework: exposes
- API application → Assessment and grading: exposes
- API application → Results workflow: exposes
- API application → Analytics and reports: exposes
- API application → Fees and billing: exposes
- API application → Staff payroll: exposes
- API application → Transport operations: exposes
- API application → Hostel operations: exposes
- API application → Family communication: exposes
- API application → Events: exposes
- API application → Expense approvals: exposes
- Transport operations → MySQL data: persists records
- Hostel operations → MySQL data: persists allocations
- Events → MySQL data: persists events
- Expense approvals → MySQL data: persists approvals
- Staff payroll → MySQL data: manages payroll data
