# atharvbansode46/campus-complaint architecture

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

- Interactive diagram: https://gitdiagram.com/atharvbansode46/campus-complaint
- Repository: https://github.com/atharvbansode46/campus-complaint

## Overview

Campus Complaint is a Flask web application for students to submit and support campus complaints and for administrators to assign departments or faculty, change complaint status, and accept or reject complaints. Students register or log in, submit a complaint, and track it; administrators review complaints and update them, with status history and student notifications recorded as part of updates. The graph shows the shared SQLite store and the principal UI surfaces. Source excerpts are partial, so uncertain template-to-route wiring and unshown implementation details are not expanded.

Main entry points: [`app.py`](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py) (Flask routes), [`database.py`](https://github.com/atharvbansode46/campus-complaint/blob/main/database.py) (Database connection), [`templates`](https://github.com/atharvbansode46/campus-complaint/tree/main/templates) (HTML templates), [`database/campus_complaint.db`](https://github.com/atharvbansode46/campus-complaint/blob/main/database/campus_complaint.db) (Campus complaint data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_flask["Flask routes<br/>[app.py]"]
  node_templates["HTML templates"]
end

subgraph group_workflow["Complaint workflow"]
  node_account["Accounts and login<br/>[app.py]"]
  node_submission["Complaint submission<br/>[app.py]"]
  node_studentview["Student dashboard<br/>[app.py]"]
  node_details["Complaint details<br/>[app.py]"]
  node_support["Complaint support<br/>[app.py]"]
  node_adminview["Admin dashboard<br/>[app.py]"]
  node_management["Assignment and status<br/>[app.py]"]
  node_notifications["Student notifications<br/>[app.py]"]
end

subgraph group_storage["Persistence"]
  node_dbaccess["Database connection<br/>[database.py]"]
  node_sqlite[("Campus complaint data")]
end

node_student(("Student"))
node_admin(("Administrator"))

node_student -->|"uses"| node_flask
node_admin -->|"uses"| node_flask
node_flask -->|"dispatches"| node_account
node_flask -->|"dispatches"| node_submission
node_flask -->|"dispatches"| node_studentview
node_flask -->|"dispatches"| node_details
node_flask -->|"dispatches"| node_support
node_flask -->|"dispatches"| node_adminview
node_flask -->|"dispatches"| node_management
node_flask -->|"dispatches"| node_notifications
node_flask -->|"renders"| node_templates
node_account -->|"queries"| node_dbaccess
node_submission -->|"reads and writes"| node_dbaccess
node_studentview -->|"reads"| node_dbaccess
node_details -->|"reads"| node_dbaccess
node_support -->|"reads and writes"| node_dbaccess
node_adminview -->|"reads"| node_dbaccess
node_management -->|"updates"| node_dbaccess
node_notifications -->|"updates"| node_dbaccess
node_dbaccess -->|"connects"| node_sqlite

click node_flask "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_account "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_submission "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_studentview "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_details "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_support "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_adminview "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_management "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_notifications "https://github.com/atharvbansode46/campus-complaint/blob/main/app.py"
click node_templates "https://github.com/atharvbansode46/campus-complaint/tree/main/templates"
click node_dbaccess "https://github.com/atharvbansode46/campus-complaint/blob/main/database.py"
click node_sqlite "https://github.com/atharvbansode46/campus-complaint/blob/main/database/campus_complaint.db"

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_flask,node_templates toneBlue
class node_account,node_submission,node_studentview,node_details,node_support,node_adminview,node_management,node_notifications toneAmber
class node_dbaccess,node_sqlite toneMint
class node_student,node_admin toneIndigo
```

## Components

### Web application

- [Flask routes](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [HTML templates](https://github.com/atharvbansode46/campus-complaint/tree/main/templates): `templates`

### Complaint workflow

- [Accounts and login](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Complaint submission](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Student dashboard](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Complaint details](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Complaint support](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Admin dashboard](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Assignment and status](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`
- [Student notifications](https://github.com/atharvbansode46/campus-complaint/blob/main/app.py): `app.py`

### Persistence

- [Database connection](https://github.com/atharvbansode46/campus-complaint/blob/main/database.py): `database.py`
- [Campus complaint data](https://github.com/atharvbansode46/campus-complaint/blob/main/database/campus_complaint.db): `database/campus_complaint.db`

### Other components

- **Student**
- **Administrator**

## Connections

- Student → Flask routes: uses
- Administrator → Flask routes: uses
- Flask routes → Accounts and login: dispatches
- Flask routes → Complaint submission: dispatches
- Flask routes → Student dashboard: dispatches
- Flask routes → Complaint details: dispatches
- Flask routes → Complaint support: dispatches
- Flask routes → Admin dashboard: dispatches
- Flask routes → Assignment and status: dispatches
- Flask routes → Student notifications: dispatches
- Flask routes → HTML templates: renders
- Accounts and login → Database connection: queries
- Complaint submission → Database connection: reads and writes
- Student dashboard → Database connection: reads
- Complaint details → Database connection: reads
- Complaint support → Database connection: reads and writes
- Admin dashboard → Database connection: reads
- Assignment and status → Database connection: updates
- Student notifications → Database connection: updates
- Database connection → Campus complaint data: connects
