# luciferasince96/luciferproject architecture

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

- Interactive diagram: https://gitdiagram.com/luciferasince96/luciferproject
- Repository: https://github.com/luciferasince96/luciferproject

## Overview

Yahoo Email Manager is a local web app for reviewing a Yahoo inbox, inspecting related conversation messages, preparing replies, and sending them. The React interface calls FastAPI endpoints; backend mail operations use Yahoo IMAP/SMTP, while draft generation and preview summarisation use OpenAI. The sampled source shows these routes and major mail behaviors, but omitted portions of mail.py limit detail about its internal helpers. The frontend API proxy is configured in vite.config.js.

Main entry points: [`yahoo-email-manager/backend/app/main.py`](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py) (HTTP API), [`yahoo-email-manager/backend/app/mail.py`](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/mail.py) (Yahoo mail operations), [`yahoo-email-manager/frontend/src/App.jsx`](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/frontend/src/App.jsx) (Inbox and reply UI), [`yahoo-email-manager/backend/app/settings.py`](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/settings.py) (Credentials and settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Email interface"]
  node_app_ui["Inbox and reply UI<br/>[App.jsx]"]
  node_frontend_entry["React entry<br/>[main.jsx]"]
end

subgraph group_backend["API and mail"]
  node_api["HTTP API<br/>[main.py]"]
  node_dashboard_route["Inbox dashboard<br/>[main.py]"]
  node_thread_route["Thread retrieval<br/>[main.py]"]
  node_draft_route["AI draft route<br/>[main.py]"]
  node_summary_route["AI summary route<br/>[main.py]"]
  node_send_route["Reply sending<br/>[main.py]"]
  node_mail["Yahoo mail operations<br/>[mail.py]"]
  node_settings["Credentials and settings<br/>[settings.py]"]
end

subgraph group_integrations["External services"]
  node_yahoo_imap["Yahoo IMAP"]
  node_yahoo_smtp["Yahoo SMTP"]
  node_openai["OpenAI API"]
end

node_user(("Local user"))

node_user -->|"uses"| node_app_ui
node_frontend_entry -->|"renders"| node_app_ui
node_app_ui -->|"requests"| node_api
node_api -->|"routes"| node_dashboard_route
node_api -->|"routes"| node_thread_route
node_api -->|"routes"| node_draft_route
node_api -->|"routes"| node_summary_route
node_api -->|"routes"| node_send_route
node_dashboard_route -->|"loads dashboard"| node_mail
node_thread_route -->|"loads thread"| node_mail
node_draft_route -->|"loads thread"| node_mail
node_draft_route -->|"generates draft"| node_openai
node_summary_route -->|"summarises previews"| node_openai
node_send_route -->|"sends reply"| node_mail
node_mail -->|"reads credentials"| node_settings
node_api -->|"reads AI settings"| node_settings
node_mail -->|"reads mail"| node_yahoo_imap
node_mail -->|"sends mail"| node_yahoo_smtp

click node_app_ui "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/frontend/src/App.jsx"
click node_frontend_entry "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/frontend/src/main.jsx"
click node_api "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_dashboard_route "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_thread_route "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_draft_route "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_summary_route "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_send_route "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py"
click node_mail "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/mail.py"
click node_settings "https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/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_app_ui,node_frontend_entry,node_user toneBlue
class node_api,node_dashboard_route,node_thread_route,node_draft_route,node_summary_route,node_send_route,node_mail,node_settings toneAmber
class node_yahoo_imap,node_yahoo_smtp,node_openai toneMint
```

## Components

### Email interface

- [Inbox and reply UI](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/frontend/src/App.jsx): `yahoo-email-manager/frontend/src/App.jsx`
- [React entry](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/frontend/src/main.jsx): `yahoo-email-manager/frontend/src/main.jsx`

### API and mail

- [HTTP API](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [Inbox dashboard](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [Thread retrieval](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [AI draft route](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [AI summary route](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [Reply sending](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/main.py): `yahoo-email-manager/backend/app/main.py`
- [Yahoo mail operations](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/mail.py): `yahoo-email-manager/backend/app/mail.py`
- [Credentials and settings](https://github.com/luciferasince96/luciferproject/blob/main/yahoo-email-manager/backend/app/settings.py): `yahoo-email-manager/backend/app/settings.py`

### External services

- **Yahoo IMAP**
- **Yahoo SMTP**
- **OpenAI API**

### Other components

- **Local user**

## Connections

- Local user → Inbox and reply UI: uses (evidence: `yahoo-email-manager/frontend/src/App.jsx`)
- React entry → Inbox and reply UI: renders (evidence: `yahoo-email-manager/frontend/src/main.jsx`)
- Inbox and reply UI → HTTP API: requests (evidence: `yahoo-email-manager/frontend/src/App.jsx`)
- HTTP API → Inbox dashboard: routes (evidence: `yahoo-email-manager/backend/app/main.py`)
- HTTP API → Thread retrieval: routes (evidence: `yahoo-email-manager/backend/app/main.py`)
- HTTP API → AI draft route: routes (evidence: `yahoo-email-manager/backend/app/main.py`)
- HTTP API → AI summary route: routes (evidence: `yahoo-email-manager/backend/app/main.py`)
- HTTP API → Reply sending: routes (evidence: `yahoo-email-manager/backend/app/main.py`)
- Inbox dashboard → Yahoo mail operations: loads dashboard (evidence: `yahoo-email-manager/backend/app/main.py`)
- Thread retrieval → Yahoo mail operations: loads thread (evidence: `yahoo-email-manager/backend/app/main.py`)
- AI draft route → Yahoo mail operations: loads thread (evidence: `yahoo-email-manager/backend/app/main.py`)
- AI draft route → OpenAI API: generates draft (evidence: `yahoo-email-manager/backend/app/main.py`)
- AI summary route → OpenAI API: summarises previews (evidence: `yahoo-email-manager/backend/app/main.py`)
- Reply sending → Yahoo mail operations: sends reply (evidence: `yahoo-email-manager/backend/app/main.py`)
- Yahoo mail operations → Credentials and settings: reads credentials (evidence: `yahoo-email-manager/backend/app/mail.py`)
- HTTP API → Credentials and settings: reads AI settings (evidence: `yahoo-email-manager/backend/app/main.py`)
- Yahoo mail operations → Yahoo IMAP: reads mail (evidence: `yahoo-email-manager/backend/app/mail.py`)
- Yahoo mail operations → Yahoo SMTP: sends mail (evidence: `yahoo-email-manager/backend/app/mail.py`)
