# jeetahirwar/school-management-erp-system architecture

> Architecture diagram of the GitHub repository jeetahirwar/school-management-erp-system, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jeetahirwar/school-management-erp-system
- Repository: https://github.com/jeetahirwar/school-management-erp-system

## Overview

This is a browser-based school ERP admin panel: an administrator enters through the routed application, navigates operational modules, and reviews or edits school records through module pages. The implemented experience is a frontend demo, with sample datasets and a localStorage hook rather than a demonstrated backend. Routes document the main academic, admissions, communications, finance, campus-operations, HR, and reporting capabilities. Only selected pages and data modules were sampled, so links between unsampled modules and their records are not asserted.

Main entry points: [`Frontend-Admin-panel/src/App.jsx`](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/App.jsx) (Routes), [`Frontend-Admin-panel/src/data/records.js`](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/records.js) (School records data), [`Frontend-Admin-panel/src/layout/Layout.jsx`](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Layout.jsx) (Admin layout), [`Frontend-Admin-panel/src/pages/Students.jsx`](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Students.jsx) (Student records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application shell"]
  node_entry["React entry<br/>[main.jsx]"]
  node_router["Routes<br/>[App.jsx]"]
  node_layout["Admin layout<br/>[Layout.jsx]"]
  node_navigation["Sidebar navigation<br/>[Sidebar.jsx]"]
  node_topbar["Topbar<br/>[Topbar.jsx]"]
  node_ui["Shared UI<br/>[UI.jsx]"]
  node_login["Login<br/>[Login.jsx]"]
  node_dashboard["Dashboard<br/>[Dashboard.jsx]"]
  node_storage_hook["Local storage hook<br/>[useLocalStorage.js]"]
end

subgraph group_academics["Academic records"]
  node_students["Student records<br/>[Students.jsx]"]
  node_attendance["Attendance<br/>[Attendance.jsx]"]
  node_timetable["Timetable<br/>[Timetable.jsx]"]
  node_homework["Homework<br/>[Homework.jsx]"]
  node_exams["Examinations<br/>[Examination.jsx]"]
  node_reports_academic["Report cards<br/>[ReportCard.jsx]"]
  node_library["Library<br/>[Library.jsx]"]
  node_academic_data["Academic sample data<br/>[academics.js]"]
  node_student_data["Student sample data<br/>[students.js]"]
end

subgraph group_outreach["Admissions and outreach"]
  node_admissions["Admission enquiries"]
  node_communication["Communication<br/>[Communication.jsx]"]
  node_notices["Notice board<br/>[NoticeBoard.jsx]"]
  node_events["Events<br/>[Events.jsx]"]
  node_record_data["School records data<br/>[records.js]"]
end

subgraph group_finance["Finance"]
  node_fees["Fee collection<br/>[FeesCollection.jsx]"]
  node_payment["Online payment<br/>[OnlinePayment.jsx]"]
end

subgraph group_operations["School operations"]
  node_inventory["Inventory<br/>[Inventory.jsx]"]
  node_transport["Bus tracking<br/>[BusTracking.jsx]"]
  node_hostel["Hostel management<br/>[Hostel.jsx]"]
  node_leave["Leave management<br/>[Leave.jsx]"]
  node_payroll["Payroll<br/>[Payroll.jsx]"]
  node_reports["Reports<br/>[Reports.jsx]"]
end

node_admin(("Administrator"))
node_browser_storage[("Browser localStorage")]

node_admin -->|"opens app"| node_entry
node_entry -->|"renders"| node_router
node_router -->|"routes login"| node_login
node_router -->|"routes modules"| node_layout
node_layout -->|"renders"| node_navigation
node_layout -->|"renders"| node_topbar
node_navigation -->|"navigates"| node_router
node_router -->|"routes"| node_dashboard
node_router -->|"routes"| node_students
node_router -->|"routes"| node_attendance
node_router -->|"routes"| node_timetable
node_router -->|"routes"| node_homework
node_router -->|"routes"| node_exams
node_router -->|"routes"| node_reports_academic
node_router -->|"routes"| node_library
node_router -->|"routes"| node_admissions
node_router -->|"routes"| node_communication
node_router -->|"routes"| node_notices
node_router -->|"routes"| node_events
node_router -->|"routes"| node_fees
node_router -->|"routes"| node_payment
node_router -->|"routes"| node_inventory
node_router -->|"routes"| node_transport
node_router -->|"routes"| node_hostel
node_router -->|"routes"| node_leave
node_router -->|"routes"| node_payroll
node_router -->|"routes"| node_reports
node_students -->|"renders with"| node_ui
node_communication -->|"renders with"| node_ui
node_transport -->|"renders with"| node_ui
node_students -->|"reads data"| node_student_data
node_transport -->|"reads routes"| node_academic_data
node_fees -.->|"reads data"| node_academic_data
node_payment -.->|"reads data"| node_academic_data
node_admissions -.->|"reads data"| node_record_data
node_communication -->|"reads messages"| node_record_data
node_notices -.->|"reads notices"| node_record_data
node_events -.->|"reads events"| node_record_data
node_storage_hook -->|"reads and writes"| node_browser_storage

click node_entry "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/main.jsx"
click node_router "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/App.jsx"
click node_layout "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Layout.jsx"
click node_navigation "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Sidebar.jsx"
click node_topbar "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Topbar.jsx"
click node_ui "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/components/UI.jsx"
click node_login "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Login.jsx"
click node_dashboard "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Dashboard.jsx"
click node_students "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Students.jsx"
click node_attendance "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Attendance.jsx"
click node_timetable "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Timetable.jsx"
click node_homework "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Homework.jsx"
click node_exams "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Examination.jsx"
click node_reports_academic "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/ReportCard.jsx"
click node_library "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Library.jsx"
click node_admissions "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/AdmissionEnquiry.jsx"
click node_communication "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Communication.jsx"
click node_notices "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/NoticeBoard.jsx"
click node_events "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Events.jsx"
click node_fees "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/FeesCollection.jsx"
click node_payment "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/OnlinePayment.jsx"
click node_inventory "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Inventory.jsx"
click node_transport "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/BusTracking.jsx"
click node_hostel "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Hostel.jsx"
click node_leave "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Leave.jsx"
click node_payroll "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Payroll.jsx"
click node_reports "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Reports.jsx"
click node_academic_data "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/academics.js"
click node_record_data "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/records.js"
click node_student_data "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/students.js"
click node_storage_hook "https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/hooks/useLocalStorage.js"

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_entry,node_router,node_layout,node_navigation,node_topbar,node_ui,node_login,node_dashboard,node_storage_hook toneBlue
class node_students,node_attendance,node_timetable,node_homework,node_exams,node_reports_academic,node_library,node_academic_data,node_student_data,node_browser_storage toneAmber
class node_admissions,node_communication,node_notices,node_events,node_record_data toneMint
class node_fees,node_payment toneRose
class node_inventory,node_transport,node_hostel,node_leave,node_payroll,node_reports,node_admin toneIndigo
```

## Components

### Application shell

- [React entry](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/main.jsx): `Frontend-Admin-panel/src/main.jsx`
- [Routes](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/App.jsx): `Frontend-Admin-panel/src/App.jsx`
- [Admin layout](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Layout.jsx): `Frontend-Admin-panel/src/layout/Layout.jsx`
- [Sidebar navigation](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Sidebar.jsx): `Frontend-Admin-panel/src/layout/Sidebar.jsx`
- [Topbar](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/layout/Topbar.jsx): `Frontend-Admin-panel/src/layout/Topbar.jsx`
- [Shared UI](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/components/UI.jsx): `Frontend-Admin-panel/src/components/UI.jsx`
- [Login](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Login.jsx): `Frontend-Admin-panel/src/pages/Login.jsx`
- [Dashboard](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Dashboard.jsx): `Frontend-Admin-panel/src/pages/Dashboard.jsx`
- [Local storage hook](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/hooks/useLocalStorage.js): `Frontend-Admin-panel/src/hooks/useLocalStorage.js`

### Academic records

- [Student records](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Students.jsx): `Frontend-Admin-panel/src/pages/Students.jsx`
- [Attendance](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Attendance.jsx): `Frontend-Admin-panel/src/pages/Attendance.jsx`
- [Timetable](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Timetable.jsx): `Frontend-Admin-panel/src/pages/Timetable.jsx`
- [Homework](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Homework.jsx): `Frontend-Admin-panel/src/pages/Homework.jsx`
- [Examinations](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Examination.jsx): `Frontend-Admin-panel/src/pages/Examination.jsx`
- [Report cards](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/ReportCard.jsx): `Frontend-Admin-panel/src/pages/ReportCard.jsx`
- [Library](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Library.jsx): `Frontend-Admin-panel/src/pages/Library.jsx`
- [Academic sample data](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/academics.js): `Frontend-Admin-panel/src/data/academics.js`
- [Student sample data](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/students.js): `Frontend-Admin-panel/src/data/students.js`

### Admissions and outreach

- [Admission enquiries](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/AdmissionEnquiry.jsx): `Frontend-Admin-panel/src/pages/AdmissionEnquiry.jsx`
- [Communication](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Communication.jsx): `Frontend-Admin-panel/src/pages/Communication.jsx`
- [Notice board](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/NoticeBoard.jsx): `Frontend-Admin-panel/src/pages/NoticeBoard.jsx`
- [Events](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Events.jsx): `Frontend-Admin-panel/src/pages/Events.jsx`
- [School records data](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/data/records.js): `Frontend-Admin-panel/src/data/records.js`

### Finance

- [Fee collection](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/FeesCollection.jsx): `Frontend-Admin-panel/src/pages/FeesCollection.jsx`
- [Online payment](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/OnlinePayment.jsx): `Frontend-Admin-panel/src/pages/OnlinePayment.jsx`

### School operations

- [Inventory](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Inventory.jsx): `Frontend-Admin-panel/src/pages/Inventory.jsx`
- [Bus tracking](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/BusTracking.jsx): `Frontend-Admin-panel/src/pages/BusTracking.jsx`
- [Hostel management](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Hostel.jsx): `Frontend-Admin-panel/src/pages/Hostel.jsx`
- [Leave management](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Leave.jsx): `Frontend-Admin-panel/src/pages/Leave.jsx`
- [Payroll](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Payroll.jsx): `Frontend-Admin-panel/src/pages/Payroll.jsx`
- [Reports](https://github.com/jeetahirwar/school-management-erp-system/blob/main/Frontend-Admin-panel/src/pages/Reports.jsx): `Frontend-Admin-panel/src/pages/Reports.jsx`

### Other components

- **Administrator**
- **Browser localStorage**

## Connections

- Administrator → React entry: opens app
- React entry → Routes: renders
- Routes → Login: routes login
- Routes → Admin layout: routes modules
- Admin layout → Sidebar navigation: renders
- Admin layout → Topbar: renders
- Sidebar navigation → Routes: navigates
- Routes → Dashboard: routes
- Routes → Student records: routes
- Routes → Attendance: routes
- Routes → Timetable: routes
- Routes → Homework: routes
- Routes → Examinations: routes
- Routes → Report cards: routes
- Routes → Library: routes
- Routes → Admission enquiries: routes
- Routes → Communication: routes
- Routes → Notice board: routes
- Routes → Events: routes
- Routes → Fee collection: routes
- Routes → Online payment: routes
- Routes → Inventory: routes
- Routes → Bus tracking: routes
- Routes → Hostel management: routes
- Routes → Leave management: routes
- Routes → Payroll: routes
- Routes → Reports: routes
- Student records → Shared UI: renders with
- Communication → Shared UI: renders with
- Bus tracking → Shared UI: renders with
- Student records → Student sample data: reads data
- Bus tracking → Academic sample data: reads routes
- Fee collection → Academic sample data: reads data
- Online payment → Academic sample data: reads data
- Admission enquiries → School records data: reads data
- Communication → School records data: reads messages
- Notice board → School records data: reads notices
- Events → School records data: reads events
- Local storage hook → Browser localStorage: reads and writes
