# subh-ds/fake-job-internship-prediction architecture

> Architecture diagram of the GitHub repository subh-ds/fake-job-internship-prediction, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/subh-ds/fake-job-internship-prediction
- Repository: https://github.com/subh-ds/fake-job-internship-prediction

## Overview

This repository is a research project for detecting fraudulent job postings from text and posting screenshots. Its workflow uses a shared dataset in two experiments: Experiment 1 compares classical baselines and a custom multimodal model; Experiment 2 uses a pretrained ResNet-50, validation-based checkpointing and threshold selection, then evaluates predictions. Report-generation code summarizes the experiments and results. Evidence is limited to the sampled source excerpts and report text; the experiment notebooks and dataset wiring were not inspected directly.

Main entry points: [`Experiment_2/Experiment_2_Multimodal_ResNet50.ipynb`](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_2/Experiment_2_Multimodal_ResNet50.ipynb) (Experiment 2), [`report_figs/build_report.py`](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/build_report.py) (Report generator), [`Experiment_1/Experiment_1.ipynb`](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_1/Experiment_1.ipynb) (Experiment 1), [`report_figs/make_figs.py`](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/make_figs.py) (Results figures)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data["Research data"]
  node_postings[("Posting dataset")]
  node_screenshots[("Posting screenshots")]
end

subgraph group_experiments["Detection experiments"]
  node_exp1["Experiment 1<br/>[Experiment_1.ipynb]"]
  node_exp2["Experiment 2"]
  node_nb_builder["Notebook builder<br/>[build_nb.py]"]
end

subgraph group_reporting["Results reporting"]
  node_figures["Results figures<br/>[make_figs.py]"]
  node_report_builder["Report generator<br/>[build_report.py]"]
  node_experiment_report["Experiment report"]
  node_final_report["Detection report"]
end

node_postings -->|"provides postings"| node_exp1
node_screenshots -->|"provides screenshots"| node_exp1
node_postings -->|"provides postings"| node_exp2
node_screenshots -->|"provides screenshots"| node_exp2
node_nb_builder -->|"generates notebook"| node_exp2
node_exp1 -->|"supplies results"| node_figures
node_exp2 -->|"supplies results"| node_figures
node_figures -->|"adds figures"| node_report_builder
node_report_builder -.->|"generates report"| node_experiment_report
node_report_builder -.->|"generates report"| node_final_report

click node_postings "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Dataset/fake_job_postings.csv"
click node_screenshots "https://github.com/subh-ds/fake-job-internship-prediction/tree/main/Dataset/images"
click node_exp1 "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_1/Experiment_1.ipynb"
click node_exp2 "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_2/Experiment_2_Multimodal_ResNet50.ipynb"
click node_nb_builder "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_2/build_nb.py"
click node_figures "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/make_figs.py"
click node_report_builder "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/build_report.py"
click node_experiment_report "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Docs/Fake_Job_Fraud_Detection_Experiments_Report.docx"
click node_final_report "https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Docs/Fake_Job_Fraud_Detection_Report.docx"

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_postings,node_screenshots toneBlue
class node_exp1,node_exp2,node_nb_builder toneAmber
class node_figures,node_report_builder,node_experiment_report,node_final_report toneMint
```

## Components

### Research data

- [Posting dataset](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Dataset/fake_job_postings.csv): `Dataset/fake_job_postings.csv`
- [Posting screenshots](https://github.com/subh-ds/fake-job-internship-prediction/tree/main/Dataset/images): `Dataset/images`

### Detection experiments

- [Experiment 1](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_1/Experiment_1.ipynb): `Experiment_1/Experiment_1.ipynb`
- [Experiment 2](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_2/Experiment_2_Multimodal_ResNet50.ipynb): `Experiment_2/Experiment_2_Multimodal_ResNet50.ipynb`
- [Notebook builder](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Experiment_2/build_nb.py): `Experiment_2/build_nb.py`

### Results reporting

- [Results figures](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/make_figs.py): `report_figs/make_figs.py`
- [Report generator](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/report_figs/build_report.py): `report_figs/build_report.py`
- [Experiment report](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Docs/Fake_Job_Fraud_Detection_Experiments_Report.docx): `Docs/Fake_Job_Fraud_Detection_Experiments_Report.docx`
- [Detection report](https://github.com/subh-ds/fake-job-internship-prediction/blob/main/Docs/Fake_Job_Fraud_Detection_Report.docx): `Docs/Fake_Job_Fraud_Detection_Report.docx`

## Connections

- Posting dataset → Experiment 1: provides postings
- Posting screenshots → Experiment 1: provides screenshots
- Posting dataset → Experiment 2: provides postings
- Posting screenshots → Experiment 2: provides screenshots
- Notebook builder → Experiment 2: generates notebook (evidence: `Experiment_2/build_nb.py`)
- Experiment 1 → Results figures: supplies results (evidence: `report_figs/make_figs.py`)
- Experiment 2 → Results figures: supplies results (evidence: `report_figs/make_figs.py`)
- Results figures → Report generator: adds figures (evidence: `report_figs/build_report.py`)
- Report generator → Experiment report: generates report
- Report generator → Detection report: generates report
