# rit2006esh/clean_mind-s architecture

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

## Overview

ADDICT combines a Chrome parental-control extension with a moderation backend. A parent configures schedules, site blocks, PIN protection, and YouTube safeguards through the popup/dashboard; browser content is restricted locally and moderation requests can be sent to the server. The server classifies submitted content, applies policy, persists decisions and review cases, and exposes analytics/review tools. Major extension capabilities are represented from README/tree; backend edges are limited to sampled service behavior and explicit dashboard/API usage.

Main entry points: [`server/moderation/service.py`](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/service.py) (Moderation Service), [`server/moderation/api.py`](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/api.py) (Moderation API), [`chrome-extension/scripts/background.js`](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/background.js) (Extension Controller), [`server/moderation/database.py`](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/database.py) (Case Database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_extension["Chrome Extension"]
  node_popup["Popup Actions<br/>[popup.html]"]
  node_dashboard["Parent Dashboard<br/>[dashboard.html]"]
  node_background["Extension Controller<br/>[background.js]"]
  node_content["Page Monitor<br/>[content.js]"]
  node_time["Time Controls<br/>[time-controls.js]"]
  node_youtube["YouTube Safety<br/>[youtubeSafe.js]"]
  node_pin["PIN Protection<br/>[password-lock.js]"]
  node_extensionapi["Extension API Client<br/>[api.js]"]
end

subgraph group_moderation["Moderation Backend"]
  node_serverapi["Moderation API<br/>[api.py]"]
  node_service["Moderation Service<br/>[service.py]"]
  node_ai["AI Engine<br/>[ai_engine.py]"]
  node_preprocess["Text Preprocessing<br/>[preprocess.py]"]
  node_policy["Policy Engine<br/>[policy.py]"]
  node_database[("Case Database<br/>[database.py]")]
end

subgraph group_review["Review and Analytics"]
  node_serverdashboard["Review Dashboard<br/>[app.js]"]
end

subgraph group_integrations["Detection Integrations"]
  node_models["Model Artifacts"]
  node_image["Image Moderation<br/>[image_moderator.py]"]
  node_audio["Audio Moderation<br/>[audio_moderator.py]"]
  node_violence["Violence Detection"]
end

node_parent(("Parent"))
node_browser(("Chrome Browser"))
node_websites(("Web Content"))
node_reviewer(("Parent Reviewer"))

node_parent -->|"uses"| node_popup
node_parent -->|"configures"| node_dashboard
node_popup -->|"sends actions"| node_background
node_dashboard -->|"manages settings"| node_background
node_background -->|"checks schedules"| node_time
node_background -->|"verifies PIN"| node_pin
node_background -->|"blocks access"| node_browser
node_content -->|"inspects pages"| node_websites
node_youtube -->|"filters YouTube"| node_websites
node_background -.->|"requests moderation"| node_extensionapi
node_extensionapi -.->|"sends content"| node_serverapi
node_serverapi -->|"submits moderation"| node_service
node_service -->|"analyzes text"| node_ai
node_ai -->|"preprocesses text"| node_preprocess
node_ai -->|"uses models"| node_models
node_service -->|"requests decision"| node_policy
node_service -->|"records case"| node_database
node_service -->|"creates review"| node_database
node_service -->|"audits decision"| node_database
node_serverapi -.->|"moderates images"| node_image
node_serverapi -.->|"moderates audio"| node_audio
node_serverapi -.->|"checks violence"| node_violence
node_reviewer -->|"reviews cases"| node_serverdashboard
node_serverdashboard -->|"fetches and updates"| node_serverapi
node_serverapi -->|"handles reviews"| node_service
node_service -->|"resolves review"| node_database

click node_popup "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/pages/popup.html"
click node_dashboard "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/pages/dashboard.html"
click node_background "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/background.js"
click node_content "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/content.js"
click node_time "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/time-controls.js"
click node_youtube "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/youtubeSafe.js"
click node_pin "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/password-lock.js"
click node_extensionapi "https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/api.js"
click node_serverapi "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/api.py"
click node_service "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/service.py"
click node_ai "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/ai_engine.py"
click node_preprocess "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/preprocess.py"
click node_policy "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/policy.py"
click node_database "https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/database.py"
click node_models "https://github.com/rit2006esh/clean_mind-s/tree/main/server/models"
click node_image "https://github.com/rit2006esh/clean_mind-s/blob/main/server/image_moderator.py"
click node_audio "https://github.com/rit2006esh/clean_mind-s/blob/main/server/audio_moderator.py"
click node_violence "https://github.com/rit2006esh/clean_mind-s/blob/main/server/violence_detector.py"
click node_serverdashboard "https://github.com/rit2006esh/clean_mind-s/blob/main/server/dashboard/app.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_popup,node_dashboard,node_background,node_content,node_time,node_youtube,node_pin,node_extensionapi,node_browser,node_reviewer toneBlue
class node_serverapi,node_service,node_ai,node_preprocess,node_policy,node_database toneAmber
class node_serverdashboard toneMint
class node_models,node_image,node_audio,node_violence toneRose
class node_parent,node_websites toneIndigo
```

## Components

### Chrome Extension

- [Popup Actions](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/pages/popup.html): `chrome-extension/pages/popup.html`
- [Parent Dashboard](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/pages/dashboard.html): `chrome-extension/pages/dashboard.html`
- [Extension Controller](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/background.js): `chrome-extension/scripts/background.js`
- [Page Monitor](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/content.js): `chrome-extension/scripts/content.js`
- [Time Controls](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/time-controls.js): `chrome-extension/scripts/time-controls.js`
- [YouTube Safety](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/youtubeSafe.js): `chrome-extension/scripts/youtubeSafe.js`
- [PIN Protection](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/password-lock.js): `chrome-extension/scripts/password-lock.js`
- [Extension API Client](https://github.com/rit2006esh/clean_mind-s/blob/main/chrome-extension/scripts/api.js): `chrome-extension/scripts/api.js`

### Moderation Backend

- [Moderation API](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/api.py): `server/moderation/api.py`
- [Moderation Service](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/service.py): `server/moderation/service.py`
- [AI Engine](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/ai_engine.py): `server/moderation/ai_engine.py`
- [Text Preprocessing](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/preprocess.py): `server/moderation/preprocess.py`
- [Policy Engine](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/policy.py): `server/moderation/policy.py`
- [Case Database](https://github.com/rit2006esh/clean_mind-s/blob/main/server/moderation/database.py): `server/moderation/database.py`

### Review and Analytics

- [Review Dashboard](https://github.com/rit2006esh/clean_mind-s/blob/main/server/dashboard/app.js): `server/dashboard/app.js`

### Detection Integrations

- [Model Artifacts](https://github.com/rit2006esh/clean_mind-s/tree/main/server/models): `server/models`
- [Image Moderation](https://github.com/rit2006esh/clean_mind-s/blob/main/server/image_moderator.py): `server/image_moderator.py`
- [Audio Moderation](https://github.com/rit2006esh/clean_mind-s/blob/main/server/audio_moderator.py): `server/audio_moderator.py`
- [Violence Detection](https://github.com/rit2006esh/clean_mind-s/blob/main/server/violence_detector.py): `server/violence_detector.py`

### Other components

- **Parent**
- **Chrome Browser**
- **Web Content**
- **Parent Reviewer**

## Connections

- Parent → Popup Actions: uses
- Parent → Parent Dashboard: configures
- Popup Actions → Extension Controller: sends actions
- Parent Dashboard → Extension Controller: manages settings
- Extension Controller → Time Controls: checks schedules
- Extension Controller → PIN Protection: verifies PIN
- Extension Controller → Chrome Browser: blocks access
- Page Monitor → Web Content: inspects pages
- YouTube Safety → Web Content: filters YouTube
- Extension Controller → Extension API Client: requests moderation
- Extension API Client → Moderation API: sends content
- Moderation API → Moderation Service: submits moderation
- Moderation Service → AI Engine: analyzes text
- AI Engine → Text Preprocessing: preprocesses text
- AI Engine → Model Artifacts: uses models
- Moderation Service → Policy Engine: requests decision
- Moderation Service → Case Database: records case
- Moderation Service → Case Database: creates review
- Moderation Service → Case Database: audits decision
- Moderation API → Image Moderation: moderates images
- Moderation API → Audio Moderation: moderates audio
- Moderation API → Violence Detection: checks violence
- Parent Reviewer → Review Dashboard: reviews cases
- Review Dashboard → Moderation API: fetches and updates
- Moderation API → Moderation Service: handles reviews
- Moderation Service → Case Database: resolves review
