# chang718/course-feedback-analysis-system architecture

> Architecture diagram of the GitHub repository chang718/course-feedback-analysis-system, 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/chang718/course-feedback-analysis-system
- Repository: https://github.com/chang718/course-feedback-analysis-system

## Overview

This coursework repository combines an AI-assisted software-artifact generation task with a course-feedback web application and its delivery task. The user-facing runtime workflow is: a student or instructor opens the feedback page, submits a rating and comments, and can view submitted feedback and an aggregate summary. The notebook and utility module indicate additional AI artifact, image, and diagram-generation capabilities. The notebook and Task 2 implementation were not sampled, so their internal wiring is not inferred.

Main entry points: [`Task1/utils.py`](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/utils.py) (Generation utilities), [`Task1/artifacts/app/app.py`](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/app.py) (Feedback API), [`Task1/artifacts/app/index.html`](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/index.html) (Feedback page), [`Task1/course_feedback_generator.ipynb`](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/course_feedback_generator.ipynb) (Coursework notebook)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_feedback["Feedback application"]
  node_web_page["Feedback page<br/>[index.html]"]
  node_api["Feedback API<br/>[app.py]"]
  node_feedback_store[("Seed feedback file<br/>[seed_feedback.json]")]
  node_feedback_result["Feedback and summary"]
end

subgraph group_generation["AI artifact generation"]
  node_generator["Coursework notebook"]
  node_ai_helpers["Generation utilities<br/>[utils.py]"]
  node_deepseek{{"DeepSeek API"}}
  node_dashscope{{"DashScope image API"}}
  node_plantuml{{"PlantUML renderer"}}
end

subgraph group_delivery["Deployment"]
  node_render{{"Render deployment"}}
end

node_visitor(("Student or instructor"))

node_visitor -->|"opens"| node_web_page
node_web_page -->|"requests"| node_api
node_api -->|"reads and writes"| node_feedback_store
node_api -->|"returns"| node_feedback_result
node_generator -.->|"uses utilities"| node_ai_helpers
node_ai_helpers -->|"requests artifacts"| node_deepseek
node_ai_helpers -->|"requests images"| node_dashscope
node_ai_helpers -->|"renders diagrams"| node_plantuml
node_render -.->|"hosts application"| node_api

click node_web_page "https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/index.html"
click node_api "https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/app.py"
click node_feedback_store "https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/seed_feedback.json"
click node_generator "https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/course_feedback_generator.ipynb"
click node_ai_helpers "https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/utils.py"

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_page,node_api,node_feedback_store,node_feedback_result toneBlue
class node_generator,node_ai_helpers,node_deepseek,node_dashscope,node_plantuml toneAmber
class node_render toneMint
class node_visitor toneIndigo
```

## Components

### Feedback application

- [Feedback page](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/index.html): `Task1/artifacts/app/index.html`
- [Feedback API](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/app.py): `Task1/artifacts/app/app.py`
- [Seed feedback file](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/artifacts/app/seed_feedback.json): `Task1/artifacts/app/seed_feedback.json`
- **Feedback and summary**

### AI artifact generation

- [Coursework notebook](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/course_feedback_generator.ipynb): `Task1/course_feedback_generator.ipynb`
- [Generation utilities](https://github.com/chang718/course-feedback-analysis-system/blob/main/Task1/utils.py): `Task1/utils.py`
- **DeepSeek API**
- **DashScope image API**
- **PlantUML renderer**

### Deployment

- **Render deployment**

### Other components

- **Student or instructor**

## Connections

- Student or instructor → Feedback page: opens
- Feedback page → Feedback API: requests
- Feedback API → Seed feedback file: reads and writes
- Feedback API → Feedback and summary: returns
- Coursework notebook → Generation utilities: uses utilities
- Generation utilities → DeepSeek API: requests artifacts
- Generation utilities → DashScope image API: requests images
- Generation utilities → PlantUML renderer: renders diagrams
- Render deployment → Feedback API: hosts application
