# palakparmar22/test architecture

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

## Overview

AIforInterview is a Django web application for candidate screening and HR administration. Candidates register and authenticate, submit resumes, and take aptitude or technical assessments; HR users manage jobs and candidates and review parsed resume and test results. The visible view excerpts support these domain stages and show resume PDF reading and assessment scoring, while the tree identifies forms, models, OTP, and Gemini modules. Their internals and exact call wiring were not sampled, so those links are omitted where uncertain.

Main entry points: [`user/views.py`](https://github.com/palakparmar22/test/blob/master/user/views.py) (Request handlers), [`AIforInterview/urls.py`](https://github.com/palakparmar22/test/blob/master/AIforInterview/urls.py) (URL routing), [`user/urls.py`](https://github.com/palakparmar22/test/blob/master/user/urls.py) (User routes), [`user/models.py`](https://github.com/palakparmar22/test/blob/master/user/models.py) (User accounts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web entry"]
  node_routes["URL routing<br/>[urls.py]"]
  node_user_routes["User routes<br/>[urls.py]"]
  node_views["Request handlers<br/>[views.py]"]
end

subgraph group_identity["Identity"]
  node_forms["Input forms<br/>[forms.py]"]
  node_otp["OTP support<br/>[otp.py]"]
  node_accounts["User accounts<br/>[models.py]"]
end

subgraph group_screening["Candidate screening"]
  node_domain_data["Screening data<br/>[models.py]"]
  node_resume["Resume processing<br/>[views.py]"]
  node_assessments["Assessments<br/>[views.py]"]
  node_ai["Gemini integration<br/>[gemini.py]"]
end

subgraph group_hr["HR operations"]
  node_hr_ops["HR management<br/>[views.py]"]
end

node_candidate(("Candidate"))
node_hr_actor(("HR user"))
node_db[("SQLite database<br/>[settings.py]")]
node_media[("Resume files")]

node_candidate -->|"sends requests"| node_routes
node_hr_actor -->|"sends requests"| node_routes
node_routes -->|"includes routes"| node_user_routes
node_user_routes -->|"dispatches"| node_views
node_views -->|"validates input"| node_forms
node_views -->|"manages accounts"| node_accounts
node_views -->|"reads and writes"| node_domain_data
node_views -->|"handles resumes"| node_resume
node_resume -->|"reads and deletes"| node_media
node_views -->|"scores tests"| node_assessments
node_views -->|"serves HR actions"| node_hr_ops
node_accounts -->|"persists"| node_db
node_domain_data -->|"persists"| node_db

click node_routes "https://github.com/palakparmar22/test/blob/master/AIforInterview/urls.py"
click node_user_routes "https://github.com/palakparmar22/test/blob/master/user/urls.py"
click node_views "https://github.com/palakparmar22/test/blob/master/user/views.py"
click node_forms "https://github.com/palakparmar22/test/blob/master/user/forms.py"
click node_otp "https://github.com/palakparmar22/test/blob/master/user/otp.py"
click node_accounts "https://github.com/palakparmar22/test/blob/master/user/models.py"
click node_domain_data "https://github.com/palakparmar22/test/blob/master/user/models.py"
click node_resume "https://github.com/palakparmar22/test/blob/master/user/views.py"
click node_assessments "https://github.com/palakparmar22/test/blob/master/user/views.py"
click node_ai "https://github.com/palakparmar22/test/blob/master/user/gemini.py"
click node_hr_ops "https://github.com/palakparmar22/test/blob/master/user/views.py"
click node_db "https://github.com/palakparmar22/test/blob/master/AIforInterview/settings.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_routes,node_user_routes,node_views,node_hr_actor toneBlue
class node_forms,node_otp,node_accounts,node_db,node_media toneAmber
class node_domain_data,node_resume,node_assessments,node_ai toneMint
class node_hr_ops toneRose
class node_candidate toneIndigo
```

## Components

### Web entry

- [URL routing](https://github.com/palakparmar22/test/blob/master/AIforInterview/urls.py): `AIforInterview/urls.py`
- [User routes](https://github.com/palakparmar22/test/blob/master/user/urls.py): `user/urls.py`
- [Request handlers](https://github.com/palakparmar22/test/blob/master/user/views.py): `user/views.py`

### Identity

- [Input forms](https://github.com/palakparmar22/test/blob/master/user/forms.py): `user/forms.py`
- [OTP support](https://github.com/palakparmar22/test/blob/master/user/otp.py): `user/otp.py`
- [User accounts](https://github.com/palakparmar22/test/blob/master/user/models.py): `user/models.py`

### Candidate screening

- [Screening data](https://github.com/palakparmar22/test/blob/master/user/models.py): `user/models.py`
- [Resume processing](https://github.com/palakparmar22/test/blob/master/user/views.py): `user/views.py`
- [Assessments](https://github.com/palakparmar22/test/blob/master/user/views.py): `user/views.py`
- [Gemini integration](https://github.com/palakparmar22/test/blob/master/user/gemini.py): `user/gemini.py`

### HR operations

- [HR management](https://github.com/palakparmar22/test/blob/master/user/views.py): `user/views.py`

### Other components

- **Candidate**
- **HR user**
- [SQLite database](https://github.com/palakparmar22/test/blob/master/AIforInterview/settings.py): `AIforInterview/settings.py`
- **Resume files**

## Connections

- Candidate → URL routing: sends requests
- HR user → URL routing: sends requests
- URL routing → User routes: includes routes
- User routes → Request handlers: dispatches
- Request handlers → Input forms: validates input
- Request handlers → User accounts: manages accounts
- Request handlers → Screening data: reads and writes
- Request handlers → Resume processing: handles resumes
- Resume processing → Resume files: reads and deletes
- Request handlers → Assessments: scores tests
- Request handlers → HR management: serves HR actions
- User accounts → SQLite database: persists
- Screening data → SQLite database: persists
