# parulshandilya/nba architecture

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

- Interactive diagram: https://gitdiagram.com/parulshandilya/nba
- Repository: https://github.com/parulshandilya/nba

## Overview

ISDNBA is a faculty-facing NBA accreditation report generator with student feedback collection. The documented faculty workflow is to sign in, enter course and batch details, upload marks and outcome-mapping spreadsheets, then generate attainment and PO-contribution results; the README also identifies direct and indirect feedback as report inputs. Sampled upload servlets save spreadsheets and call ReadExcel, which parses them and writes course-specific tables through DbConnection. Feedback, report-generation, and several calculation classes are present in the tree, but their implementation and wiring were not sampled, so those links are left out where uncertain.

Main entry points: [`ISDNBA/src/ReadExcel.java`](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/ReadExcel.java) (Spreadsheet processing), [`ISDNBA/uploads`](https://github.com/parulshandilya/nba/tree/master/ISDNBA/uploads) (Uploaded spreadsheets), [`ISDNBA/WebContent/home.jsp`](https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/home.jsp) (Home and login), [`ISDNBA/src/DbConnection.java`](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/DbConnection.java) (Database connection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web interface"]
  node_home["Home and login<br/>[home.jsp]"]
  node_faculty_pages["Faculty workflow pages<br/>[facultyPage.jsp]"]
  node_student_pages["Student feedback pages"]
  node_faculty_auth["Faculty authentication"]
  node_student_auth["Student authentication<br/>[LoginCheck.java]"]
end

subgraph group_ingest["Faculty data intake"]
  node_course_context["Course setup"]
  node_marks_upload["Marks upload<br/>[up1.java]"]
  node_coac_upload["CO–AC upload<br/>[up2.java]"]
  node_matrix_upload["CO–PO matrix upload<br/>[up3.java]"]
  node_po_upload["PO list upload<br/>[up4.java]"]
  node_co_upload["CO statement upload<br/>[up5.java]"]
  node_excel_reader["Spreadsheet processing<br/>[ReadExcel.java]"]
end

subgraph group_analysis["Attainment and feedback"]
  node_attainment["CO attainment<br/>[COAttainment.java]"]
  node_direct_feedback["Direct feedback"]
  node_indirect_feedback["Indirect feedback"]
  node_report["Attainment report"]
end

subgraph group_storage["Persistence"]
  node_connection["Database connection<br/>[DbConnection.java]"]
  node_mysql[("MySQL database")]
  node_uploads["Uploaded spreadsheets"]
end

node_faculty(("Faculty"))
node_student(("Student"))

node_faculty -->|"opens"| node_home
node_student -->|"opens"| node_home
node_home -->|"submits login"| node_faculty_auth
node_home -->|"submits login"| node_student_auth
node_faculty_auth -->|"connects through"| node_connection
node_student_auth -->|"connects through"| node_connection
node_faculty_auth -->|"redirects on success"| node_faculty_pages
node_student_auth -->|"redirects on success"| node_student_pages
node_faculty -->|"enters course details"| node_faculty_pages
node_faculty_pages -->|"submits details"| node_course_context
node_course_context -->|"stores context for"| node_uploads
node_faculty -->|"uploads marks"| node_marks_upload
node_faculty -->|"uploads mapping"| node_coac_upload
node_faculty -->|"uploads matrix"| node_matrix_upload
node_faculty -->|"uploads outcomes"| node_po_upload
node_faculty -->|"uploads outcomes"| node_co_upload
node_marks_upload -->|"writes workbook"| node_uploads
node_coac_upload -->|"writes workbook"| node_uploads
node_matrix_upload -->|"writes workbook"| node_uploads
node_po_upload -->|"writes workbook"| node_uploads
node_co_upload -->|"writes workbook"| node_uploads
node_marks_upload -->|"calls reading"| node_excel_reader
node_coac_upload -->|"calls reading1"| node_excel_reader
node_matrix_upload -->|"calls reading2"| node_excel_reader
node_po_upload -->|"calls reading3"| node_excel_reader
node_co_upload -->|"calls reading4"| node_excel_reader
node_excel_reader -->|"reads workbooks"| node_uploads
node_excel_reader -->|"connects through"| node_connection
node_connection -->|"opens connection"| node_mysql
node_excel_reader -.->|"calculates attainment"| node_attainment
node_attainment -.->|"displays results"| node_report
node_student -->|"submits feedback"| node_student_pages
node_student_pages -.->|"feedback capability"| node_direct_feedback
node_faculty -.->|"provides feedback"| node_indirect_feedback

click node_home "https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/home.jsp"
click node_faculty_pages "https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/facultyPage.jsp"
click node_student_pages "https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/studentFeedback.jsp"
click node_faculty_auth "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/facultyLoginCheck.java"
click node_student_auth "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/LoginCheck.java"
click node_course_context "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/UploadDownloadFileServlet.java"
click node_marks_upload "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up1.java"
click node_coac_upload "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up2.java"
click node_matrix_upload "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up3.java"
click node_po_upload "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up4.java"
click node_co_upload "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up5.java"
click node_excel_reader "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/ReadExcel.java"
click node_attainment "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/COAttainment.java"
click node_direct_feedback "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/directFeedback.java"
click node_indirect_feedback "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/indirectFeedback.java"
click node_report "https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/displayCOAttainment.jsp"
click node_connection "https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/DbConnection.java"
click node_uploads "https://github.com/parulshandilya/nba/tree/master/ISDNBA/uploads"

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_home,node_faculty_pages,node_student_pages,node_faculty_auth,node_student_auth toneBlue
class node_course_context,node_marks_upload,node_coac_upload,node_matrix_upload,node_po_upload,node_co_upload,node_excel_reader toneAmber
class node_attainment,node_direct_feedback,node_indirect_feedback,node_report toneMint
class node_connection,node_mysql,node_uploads toneRose
class node_faculty,node_student toneIndigo
```

## Components

### Web interface

- [Home and login](https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/home.jsp): `ISDNBA/WebContent/home.jsp`
- [Faculty workflow pages](https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/facultyPage.jsp): `ISDNBA/WebContent/facultyPage.jsp`
- [Student feedback pages](https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/studentFeedback.jsp): `ISDNBA/WebContent/studentFeedback.jsp`
- [Faculty authentication](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/facultyLoginCheck.java): `ISDNBA/src/facultyLoginCheck.java`
- [Student authentication](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/LoginCheck.java): `ISDNBA/src/LoginCheck.java`

### Faculty data intake

- [Course setup](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/UploadDownloadFileServlet.java): `ISDNBA/src/UploadDownloadFileServlet.java`
- [Marks upload](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up1.java): `ISDNBA/src/up1.java`
- [CO–AC upload](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up2.java): `ISDNBA/src/up2.java`
- [CO–PO matrix upload](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up3.java): `ISDNBA/src/up3.java`
- [PO list upload](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up4.java): `ISDNBA/src/up4.java`
- [CO statement upload](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/up5.java): `ISDNBA/src/up5.java`
- [Spreadsheet processing](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/ReadExcel.java): `ISDNBA/src/ReadExcel.java`

### Attainment and feedback

- [CO attainment](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/COAttainment.java): `ISDNBA/src/COAttainment.java`
- [Direct feedback](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/directFeedback.java): `ISDNBA/src/directFeedback.java`
- [Indirect feedback](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/indirectFeedback.java): `ISDNBA/src/indirectFeedback.java`
- [Attainment report](https://github.com/parulshandilya/nba/blob/master/ISDNBA/WebContent/displayCOAttainment.jsp): `ISDNBA/WebContent/displayCOAttainment.jsp`

### Persistence

- [Database connection](https://github.com/parulshandilya/nba/blob/master/ISDNBA/src/DbConnection.java): `ISDNBA/src/DbConnection.java`
- **MySQL database**
- [Uploaded spreadsheets](https://github.com/parulshandilya/nba/tree/master/ISDNBA/uploads): `ISDNBA/uploads`

### Other components

- **Faculty**
- **Student**

## Connections

- Faculty → Home and login: opens
- Student → Home and login: opens
- Home and login → Faculty authentication: submits login
- Home and login → Student authentication: submits login
- Faculty authentication → Database connection: connects through
- Student authentication → Database connection: connects through
- Faculty authentication → Faculty workflow pages: redirects on success
- Student authentication → Student feedback pages: redirects on success
- Faculty → Faculty workflow pages: enters course details
- Faculty workflow pages → Course setup: submits details
- Course setup → Uploaded spreadsheets: stores context for
- Faculty → Marks upload: uploads marks
- Faculty → CO–AC upload: uploads mapping
- Faculty → CO–PO matrix upload: uploads matrix
- Faculty → PO list upload: uploads outcomes
- Faculty → CO statement upload: uploads outcomes
- Marks upload → Uploaded spreadsheets: writes workbook
- CO–AC upload → Uploaded spreadsheets: writes workbook
- CO–PO matrix upload → Uploaded spreadsheets: writes workbook
- PO list upload → Uploaded spreadsheets: writes workbook
- CO statement upload → Uploaded spreadsheets: writes workbook
- Marks upload → Spreadsheet processing: calls reading
- CO–AC upload → Spreadsheet processing: calls reading1
- CO–PO matrix upload → Spreadsheet processing: calls reading2
- PO list upload → Spreadsheet processing: calls reading3
- CO statement upload → Spreadsheet processing: calls reading4
- Spreadsheet processing → Uploaded spreadsheets: reads workbooks
- Spreadsheet processing → Database connection: connects through
- Database connection → MySQL database: opens connection
- Spreadsheet processing → CO attainment: calculates attainment
- CO attainment → Attainment report: displays results
- Student → Student feedback pages: submits feedback
- Student feedback pages → Direct feedback: feedback capability
- Faculty → Indirect feedback: provides feedback
