# aravindbonda/college-ups architecture

> Architecture diagram of the GitHub repository aravindbonda/college-ups, 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/aravindbonda/college-ups
- Repository: https://github.com/aravindbonda/college-ups

## Overview

EduTechEx is a college-application platform: students create accounts, complete enrollment sections, review and submit applications, and administrators process them. The repository also includes university verification, support, and an AI chatbot. The tree establishes the client and server feature areas; sampled server code confirms review aggregation/submission, process-admin application handling, PDF/email review actions, and the chatbot’s controller-to-service call. Client-to-API wiring and several other feature internals were not sampled, so those connections are omitted.

Main entry points: [`server/Enrollment/controllers/reviewcontroller.js`](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/reviewcontroller.js) (Review submission), [`server/Enrollment/controllers/universityreviewcontroller.js`](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/universityreviewcontroller.js) (University review), [`server/Enrollment/model/programmodel.js`](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/programmodel.js) (Program selection), [`server/controllers/applicationVerificationController.js`](https://github.com/aravindbonda/college-ups/blob/master/server/controllers/applicationVerificationController.js) (Application verification)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_applicant["Applicant experience"]
  node_client["College app<br/>[App.js]"]
  node_account_ui["Account access<br/>[CreateAccount.js]"]
  node_dashboard["Student dashboard<br/>[Dashboard.js]"]
end

subgraph group_enrollment["Enrollment workflow"]
  node_enrollment_ui["Enrollment form<br/>[EnrollmentFlow.js]"]
  node_country_rules["Country requirements"]
  node_review_ui["Application progress"]
  node_review_routes["Review routes<br/>[reviewroutes.js]"]
  node_review_controller["Review submission"]
  node_review_model[("Review record<br/>[reviewmodel.js]")]
  node_personal_model[("Personal details<br/>[personalmodel.js]")]
  node_education_model[("Education details<br/>[educationmodel.js]")]
  node_test_model[("Test scores<br/>[testmodel.js]")]
  node_documents_model[("Application documents<br/>[documentmodel.js]")]
  node_program_model[("Program selection<br/>[programmodel.js]")]
  node_university_model[("University selection")]
end

subgraph group_operations["Application operations"]
  node_admin_routes["Enrollment admin routes"]
  node_admin_controller["Enrollment decisions"]
  node_verification_controller["Application verification"]
  node_university_review["University review"]
  node_overview_model[("Application overview<br/>[overviewModel.js]")]
  node_account_controller["Accounts and documents"]
  node_account_model[("Account records<br/>[accountModel.js]")]
end

subgraph group_services["Platform services"]
  node_ai_controller["University chatbot"]
  node_bedrock_service["AI response service<br/>[bedrockService.js]"]
end

node_student(("Student"))
node_process_admin(("Process administrator"))
node_bedrock{{"Amazon Bedrock"}}
node_email{{"Email delivery"}}
node_s3[("AWS S3 files")]

node_student -->|"opens"| node_client
node_client -->|"offers access"| node_account_ui
node_client -->|"presents"| node_dashboard
node_dashboard -->|"starts enrollment"| node_enrollment_ui
node_enrollment_ui -->|"applies requirements"| node_country_rules
node_enrollment_ui -->|"continues to review"| node_review_ui
node_review_routes -->|"dispatches"| node_review_controller
node_review_controller -->|"reads"| node_personal_model
node_review_controller -->|"reads"| node_education_model
node_review_controller -->|"reads"| node_test_model
node_review_controller -->|"reads"| node_documents_model
node_review_controller -->|"reads and updates"| node_program_model
node_review_controller -->|"reads"| node_university_model
node_review_controller -->|"reads and writes"| node_review_model
node_process_admin -->|"reviews applications"| node_admin_routes
node_admin_routes -->|"dispatches"| node_admin_controller
node_admin_controller -->|"queries and updates"| node_program_model
node_verification_controller -->|"requests review summary"| node_university_review
node_verification_controller -->|"reads"| node_program_model
node_verification_controller -->|"reads"| node_overview_model
node_university_review -->|"reads and updates"| node_program_model
node_university_review -->|"reads"| node_personal_model
node_university_review -->|"reads"| node_education_model
node_university_review -->|"reads"| node_documents_model
node_university_review -->|"reads and updates"| node_overview_model
node_university_review -->|"sends messages"| node_email
node_account_controller -->|"reads and writes"| node_account_model
node_account_controller -->|"manages files"| node_s3
node_ai_controller -->|"generates responses"| node_bedrock_service
node_bedrock_service -->|"requests inference"| node_bedrock

click node_client "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/App.js"
click node_account_ui "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/CreateAccount.js"
click node_dashboard "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/Dashboard.js"
click node_enrollment_ui "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/Enrollment-application/EnrollmentFlow.js"
click node_country_rules "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/rules/CountryRulesEngine.js"
click node_review_ui "https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/ApplicationProgressPage.js"
click node_review_routes "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/routes/reviewroutes.js"
click node_review_controller "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/reviewcontroller.js"
click node_review_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/reviewmodel.js"
click node_personal_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/personalmodel.js"
click node_education_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/educationmodel.js"
click node_test_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/testmodel.js"
click node_documents_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/documentmodel.js"
click node_program_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/programmodel.js"
click node_university_model "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/universityselectionmodel.js"
click node_admin_routes "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/routes/enrollmentAdminRoutes.js"
click node_admin_controller "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/enrollmentAdminController.js"
click node_verification_controller "https://github.com/aravindbonda/college-ups/blob/master/server/controllers/applicationVerificationController.js"
click node_university_review "https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/universityreviewcontroller.js"
click node_overview_model "https://github.com/aravindbonda/college-ups/blob/master/server/models/overviewModel.js"
click node_account_controller "https://github.com/aravindbonda/college-ups/blob/master/server/controllers/accountController.js"
click node_account_model "https://github.com/aravindbonda/college-ups/blob/master/server/models/accountModel.js"
click node_ai_controller "https://github.com/aravindbonda/college-ups/blob/master/ai-agent/src/controllers/universityController.js"
click node_bedrock_service "https://github.com/aravindbonda/college-ups/blob/master/ai-agent/src/services/bedrockService.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_client,node_account_ui,node_dashboard toneBlue
class node_enrollment_ui,node_country_rules,node_review_ui,node_review_routes,node_review_controller,node_review_model,node_personal_model,node_education_model,node_test_model,node_documents_model,node_program_model,node_university_model,node_s3 toneAmber
class node_admin_routes,node_admin_controller,node_verification_controller,node_university_review,node_overview_model,node_account_controller,node_account_model toneMint
class node_ai_controller,node_bedrock_service toneRose
class node_student,node_process_admin,node_bedrock,node_email toneIndigo
```

## Components

### Applicant experience

- [College app](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/App.js): `college-app/src/App.js`
- [Account access](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/CreateAccount.js): `college-app/src/components/CreateAccount.js`
- [Student dashboard](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/Dashboard.js): `college-app/src/components/User/first-year-student/Dashboard.js`

### Enrollment workflow

- [Enrollment form](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/Enrollment-application/EnrollmentFlow.js): `college-app/src/components/User/first-year-student/Enrollment-application/EnrollmentFlow.js`
- [Country requirements](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/rules/CountryRulesEngine.js): `college-app/src/rules/CountryRulesEngine.js`
- [Application progress](https://github.com/aravindbonda/college-ups/blob/master/college-app/src/components/User/first-year-student/ApplicationProgressPage.js): `college-app/src/components/User/first-year-student/ApplicationProgressPage.js`
- [Review routes](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/routes/reviewroutes.js): `server/Enrollment/routes/reviewroutes.js`
- [Review submission](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/reviewcontroller.js): `server/Enrollment/controllers/reviewcontroller.js`
- [Review record](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/reviewmodel.js): `server/Enrollment/model/reviewmodel.js`
- [Personal details](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/personalmodel.js): `server/Enrollment/model/personalmodel.js`
- [Education details](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/educationmodel.js): `server/Enrollment/model/educationmodel.js`
- [Test scores](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/testmodel.js): `server/Enrollment/model/testmodel.js`
- [Application documents](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/documentmodel.js): `server/Enrollment/model/documentmodel.js`
- [Program selection](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/programmodel.js): `server/Enrollment/model/programmodel.js`
- [University selection](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/model/universityselectionmodel.js): `server/Enrollment/model/universityselectionmodel.js`

### Application operations

- [Enrollment admin routes](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/routes/enrollmentAdminRoutes.js): `server/Enrollment/routes/enrollmentAdminRoutes.js`
- [Enrollment decisions](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/enrollmentAdminController.js): `server/Enrollment/controllers/enrollmentAdminController.js`
- [Application verification](https://github.com/aravindbonda/college-ups/blob/master/server/controllers/applicationVerificationController.js): `server/controllers/applicationVerificationController.js`
- [University review](https://github.com/aravindbonda/college-ups/blob/master/server/Enrollment/controllers/universityreviewcontroller.js): `server/Enrollment/controllers/universityreviewcontroller.js`
- [Application overview](https://github.com/aravindbonda/college-ups/blob/master/server/models/overviewModel.js): `server/models/overviewModel.js`
- [Accounts and documents](https://github.com/aravindbonda/college-ups/blob/master/server/controllers/accountController.js): `server/controllers/accountController.js`
- [Account records](https://github.com/aravindbonda/college-ups/blob/master/server/models/accountModel.js): `server/models/accountModel.js`

### Platform services

- [University chatbot](https://github.com/aravindbonda/college-ups/blob/master/ai-agent/src/controllers/universityController.js): `ai-agent/src/controllers/universityController.js`
- [AI response service](https://github.com/aravindbonda/college-ups/blob/master/ai-agent/src/services/bedrockService.js): `ai-agent/src/services/bedrockService.js`

### Other components

- **Student**
- **Process administrator**
- **Amazon Bedrock**
- **Email delivery**
- **AWS S3 files**

## Connections

- Student → College app: opens
- College app → Account access: offers access
- College app → Student dashboard: presents
- Student dashboard → Enrollment form: starts enrollment
- Enrollment form → Country requirements: applies requirements
- Enrollment form → Application progress: continues to review
- Review routes → Review submission: dispatches
- Review submission → Personal details: reads
- Review submission → Education details: reads
- Review submission → Test scores: reads
- Review submission → Application documents: reads
- Review submission → Program selection: reads and updates
- Review submission → University selection: reads
- Review submission → Review record: reads and writes
- Process administrator → Enrollment admin routes: reviews applications
- Enrollment admin routes → Enrollment decisions: dispatches
- Enrollment decisions → Program selection: queries and updates
- Application verification → University review: requests review summary
- Application verification → Program selection: reads
- Application verification → Application overview: reads
- University review → Program selection: reads and updates
- University review → Personal details: reads
- University review → Education details: reads
- University review → Application documents: reads
- University review → Application overview: reads and updates
- University review → Email delivery: sends messages
- Accounts and documents → Account records: reads and writes
- Accounts and documents → AWS S3 files: manages files
- University chatbot → AI response service: generates responses
- AI response service → Amazon Bedrock: requests inference
