# jharanasolanki/college-portal architecture

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

- Interactive diagram: https://gitdiagram.com/jharanasolanki/college-portal
- Repository: https://github.com/jharanasolanki/college-portal

## Overview

CollegePortal is a student-and-teacher college portal. The documented user workflow starts at the portal and login, then branches to class booking, requests for extra lectures, or mock-paper preparation from a question bank. The tree also indicates Excel-to-MySQL and Excel-to-paper processing, backed by PHPExcel readers and writers. The sampled portal source does not expose server-side wiring or persistence details, so those relations are shown only where the README or filenames support them.

Main entry points: [`students.php`](https://github.com/jharanasolanki/college-portal/blob/master/students.php) (Student Area), [`Classes/PHPExcel.php`](https://github.com/jharanasolanki/college-portal/blob/master/Classes/PHPExcel.php) (PHPExcel), [`Login.php`](https://github.com/jharanasolanki/college-portal/blob/master/Login.php) (Login), [`requestsubject.php`](https://github.com/jharanasolanki/college-portal/blob/master/requestsubject.php) (Request Lecture)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portal["Portal and Access"]
  node_home["Portal Home<br/>[index.php]"]
  node_login["Login<br/>[Login.php]"]
  node_loginentry["Login Entry<br/>[LoginEntry.php]"]
  node_studentarea["Student Area<br/>[students.php]"]
  node_teacherarea["Teacher Area<br/>[teachers.php]"]
end

subgraph group_classes["Class Booking"]
  node_booking["Book Class<br/>[guitable.php]"]
  node_cancellation["Cancel Class<br/>[canceltable.php]"]
end

subgraph group_teaching["Lecture Requests"]
  node_request["Request Lecture<br/>[requestsubject.php]"]
  node_requestresponse["Request Response"]
  node_mail(("Mail Teacher"))
end

subgraph group_papers["Question Papers"]
  node_paperupload["Paper Upload<br/>[uploadpt.php]"]
  node_generatorform["Generator Form"]
  node_paperprocess["Excel to Paper<br/>[exceltoqpaper.php]"]
  node_excelimport["Excel Upload<br/>[uploadexcel.php]"]
  node_mysqlimport["Excel to MySQL<br/>[exceltomysql.php]"]
  node_phpexcel["PHPExcel<br/>[PHPExcel.php]"]
  node_reader["Excel Readers"]
  node_writer["Excel Writers"]
  node_questionbank[("Question Bank")]
end

node_student(("Student"))
node_teacher(("Teacher"))
node_db[("Portal Data")]

node_student -->|"visits"| node_home
node_teacher -->|"visits"| node_home
node_home -->|"offers login"| node_loginentry
node_loginentry -->|"starts login"| node_login
node_login -->|"student access"| node_studentarea
node_login -->|"teacher access"| node_teacherarea
node_studentarea -->|"books class"| node_booking
node_studentarea -->|"cancels class"| node_cancellation
node_studentarea -->|"requests lecture"| node_request
node_request -->|"mails teacher"| node_mail
node_request -->|"handles response"| node_requestresponse
node_studentarea -->|"opens papers"| node_paperupload
node_paperupload -->|"submits request"| node_generatorform
node_generatorform -->|"prepares paper"| node_paperprocess
node_paperprocess -->|"uses questions"| node_questionbank
node_excelimport -->|"imports workbook"| node_mysqlimport
node_mysqlimport -->|"writes records"| node_db
node_excelimport -->|"reads workbook"| node_phpexcel
node_paperprocess -->|"processes workbook"| node_phpexcel
node_phpexcel -->|"loads formats"| node_reader
node_phpexcel -->|"writes formats"| node_writer

click node_home "https://github.com/jharanasolanki/college-portal/blob/master/index.php"
click node_login "https://github.com/jharanasolanki/college-portal/blob/master/Login.php"
click node_loginentry "https://github.com/jharanasolanki/college-portal/blob/master/LoginEntry.php"
click node_studentarea "https://github.com/jharanasolanki/college-portal/blob/master/students.php"
click node_teacherarea "https://github.com/jharanasolanki/college-portal/blob/master/teachers.php"
click node_booking "https://github.com/jharanasolanki/college-portal/blob/master/guitable.php"
click node_cancellation "https://github.com/jharanasolanki/college-portal/blob/master/canceltable.php"
click node_request "https://github.com/jharanasolanki/college-portal/blob/master/requestsubject.php"
click node_requestresponse "https://github.com/jharanasolanki/college-portal/blob/master/subjectrequestresp.php"
click node_paperupload "https://github.com/jharanasolanki/college-portal/blob/master/uploadpt.php"
click node_generatorform "https://github.com/jharanasolanki/college-portal/blob/master/papergeneratorform.php"
click node_paperprocess "https://github.com/jharanasolanki/college-portal/blob/master/exceltoqpaper.php"
click node_excelimport "https://github.com/jharanasolanki/college-portal/blob/master/uploadexcel.php"
click node_mysqlimport "https://github.com/jharanasolanki/college-portal/blob/master/exceltomysql.php"
click node_phpexcel "https://github.com/jharanasolanki/college-portal/blob/master/Classes/PHPExcel.php"
click node_reader "https://github.com/jharanasolanki/college-portal/tree/master/Classes/PHPExcel/Reader"
click node_writer "https://github.com/jharanasolanki/college-portal/tree/master/Classes/PHPExcel/Writer"

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_login,node_loginentry,node_studentarea,node_teacherarea toneBlue
class node_booking,node_cancellation,node_db toneAmber
class node_request,node_requestresponse,node_mail toneMint
class node_paperupload,node_generatorform,node_paperprocess,node_excelimport,node_mysqlimport,node_phpexcel,node_reader,node_writer,node_questionbank toneRose
class node_student,node_teacher toneIndigo
```

## Components

### Portal and Access

- [Portal Home](https://github.com/jharanasolanki/college-portal/blob/master/index.php): `index.php`
- [Login](https://github.com/jharanasolanki/college-portal/blob/master/Login.php): `Login.php`
- [Login Entry](https://github.com/jharanasolanki/college-portal/blob/master/LoginEntry.php): `LoginEntry.php`
- [Student Area](https://github.com/jharanasolanki/college-portal/blob/master/students.php): `students.php`
- [Teacher Area](https://github.com/jharanasolanki/college-portal/blob/master/teachers.php): `teachers.php`

### Class Booking

- [Book Class](https://github.com/jharanasolanki/college-portal/blob/master/guitable.php): `guitable.php`
- [Cancel Class](https://github.com/jharanasolanki/college-portal/blob/master/canceltable.php): `canceltable.php`

### Lecture Requests

- [Request Lecture](https://github.com/jharanasolanki/college-portal/blob/master/requestsubject.php): `requestsubject.php`
- [Request Response](https://github.com/jharanasolanki/college-portal/blob/master/subjectrequestresp.php): `subjectrequestresp.php`
- **Mail Teacher**

### Question Papers

- [Paper Upload](https://github.com/jharanasolanki/college-portal/blob/master/uploadpt.php): `uploadpt.php`
- [Generator Form](https://github.com/jharanasolanki/college-portal/blob/master/papergeneratorform.php): `papergeneratorform.php`
- [Excel to Paper](https://github.com/jharanasolanki/college-portal/blob/master/exceltoqpaper.php): `exceltoqpaper.php`
- [Excel Upload](https://github.com/jharanasolanki/college-portal/blob/master/uploadexcel.php): `uploadexcel.php`
- [Excel to MySQL](https://github.com/jharanasolanki/college-portal/blob/master/exceltomysql.php): `exceltomysql.php`
- [PHPExcel](https://github.com/jharanasolanki/college-portal/blob/master/Classes/PHPExcel.php): `Classes/PHPExcel.php`
- [Excel Readers](https://github.com/jharanasolanki/college-portal/tree/master/Classes/PHPExcel/Reader): `Classes/PHPExcel/Reader`
- [Excel Writers](https://github.com/jharanasolanki/college-portal/tree/master/Classes/PHPExcel/Writer): `Classes/PHPExcel/Writer`
- **Question Bank**

### Other components

- **Student**
- **Teacher**
- **Portal Data**

## Connections

- Student → Portal Home: visits
- Teacher → Portal Home: visits
- Portal Home → Login Entry: offers login
- Login Entry → Login: starts login
- Login → Student Area: student access
- Login → Teacher Area: teacher access
- Student Area → Book Class: books class
- Student Area → Cancel Class: cancels class
- Student Area → Request Lecture: requests lecture
- Request Lecture → Mail Teacher: mails teacher
- Request Lecture → Request Response: handles response
- Student Area → Paper Upload: opens papers
- Paper Upload → Generator Form: submits request
- Generator Form → Excel to Paper: prepares paper
- Excel to Paper → Question Bank: uses questions
- Excel Upload → Excel to MySQL: imports workbook
- Excel to MySQL → Portal Data: writes records
- Excel Upload → PHPExcel: reads workbook
- Excel to Paper → PHPExcel: processes workbook
- PHPExcel → Excel Readers: loads formats
- PHPExcel → Excel Writers: writes formats
