# themessimagic/if-fashion architecture

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

- Interactive diagram: https://gitdiagram.com/themessimagic/if-fashion
- Repository: https://github.com/themessimagic/if-fashion

## Overview

I.F Fashion is a Flask web application for customer requests, career applications, request tracking, and staff administration, with a browser-based chatbot for guided help and human support tickets. The main evidenced interaction is the chatbot sending ticket requests to Flask; the server also contacts an external AI service and stores application data in SQLite. The route excerpt is incomplete and there is no README, so the graph preserves the major capabilities indicated by the file tree without guessing at unshown route-to-template or persistence flows.

Main entry points: [`app.py`](https://github.com/themessimagic/if-fashion/blob/main/app.py) (Flask application), [`static/js/chatbot.js`](https://github.com/themessimagic/if-fashion/blob/main/static/js/chatbot.js) (Chat widget), [`templates`](https://github.com/themessimagic/if-fashion/tree/main/templates) (Information pages), [`if_fashion.db`](https://github.com/themessimagic/if-fashion/blob/main/if_fashion.db) (Application database)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_flask["Flask application<br/>[app.py]"]
  node_site_pages["Information pages"]
end

subgraph group_operations["Business operations"]
  node_request_forms["Request forms"]
  node_request_tracking["Request tracking<br/>[track.html]"]
  node_career_applications["Career applications<br/>[careers.html]"]
  node_admin_portal["Admin portal"]
  node_sqlite[("Application database<br/>[if_fashion.db]")]
end

subgraph group_support["Customer support"]
  node_chat_widget["Chat widget<br/>[chatbot.js]"]
  node_ticket_service["Ticket handling<br/>[app.py]"]
  node_ai_service["AI chat service<br/>[app.py]"]
end

subgraph group_external["External services"]
  node_ai_provider{{"AI provider"}}
end

node_visitor(("Site visitor"))

node_visitor -->|"opens chat"| node_chat_widget
node_chat_widget -->|"opens ticket"| node_ticket_service
node_chat_widget -->|"sends message"| node_ticket_service
node_flask -->|"requests reply"| node_ai_provider
node_visitor -.->|"submits requests"| node_flask
node_flask -->|"queries data"| node_sqlite
node_flask -->|"renders careers"| node_site_pages

click node_flask "https://github.com/themessimagic/if-fashion/blob/main/app.py"
click node_site_pages "https://github.com/themessimagic/if-fashion/tree/main/templates"
click node_request_forms "https://github.com/themessimagic/if-fashion/tree/main/templates"
click node_request_tracking "https://github.com/themessimagic/if-fashion/blob/main/templates/track.html"
click node_career_applications "https://github.com/themessimagic/if-fashion/blob/main/templates/careers.html"
click node_admin_portal "https://github.com/themessimagic/if-fashion/blob/main/templates/admin_dashboard.html"
click node_sqlite "https://github.com/themessimagic/if-fashion/blob/main/if_fashion.db"
click node_chat_widget "https://github.com/themessimagic/if-fashion/blob/main/static/js/chatbot.js"
click node_ticket_service "https://github.com/themessimagic/if-fashion/blob/main/app.py"
click node_ai_service "https://github.com/themessimagic/if-fashion/blob/main/app.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_flask,node_site_pages toneBlue
class node_request_forms,node_request_tracking,node_career_applications,node_admin_portal,node_sqlite toneAmber
class node_chat_widget,node_ticket_service,node_ai_service toneMint
class node_ai_provider toneRose
class node_visitor toneIndigo
```

## Components

### Web application

- [Flask application](https://github.com/themessimagic/if-fashion/blob/main/app.py): `app.py`
- [Information pages](https://github.com/themessimagic/if-fashion/tree/main/templates): `templates`

### Business operations

- [Request forms](https://github.com/themessimagic/if-fashion/tree/main/templates): `templates`
- [Request tracking](https://github.com/themessimagic/if-fashion/blob/main/templates/track.html): `templates/track.html`
- [Career applications](https://github.com/themessimagic/if-fashion/blob/main/templates/careers.html): `templates/careers.html`
- [Admin portal](https://github.com/themessimagic/if-fashion/blob/main/templates/admin_dashboard.html): `templates/admin_dashboard.html`
- [Application database](https://github.com/themessimagic/if-fashion/blob/main/if_fashion.db): `if_fashion.db`

### Customer support

- [Chat widget](https://github.com/themessimagic/if-fashion/blob/main/static/js/chatbot.js): `static/js/chatbot.js`
- [Ticket handling](https://github.com/themessimagic/if-fashion/blob/main/app.py): `app.py`
- [AI chat service](https://github.com/themessimagic/if-fashion/blob/main/app.py): `app.py`

### External services

- **AI provider**

### Other components

- **Site visitor**

## Connections

- Site visitor → Chat widget: opens chat (evidence: `static/js/chatbot.js`)
- Chat widget → Ticket handling: opens ticket (evidence: `static/js/chatbot.js`)
- Chat widget → Ticket handling: sends message (evidence: `static/js/chatbot.js`)
- Flask application → AI provider: requests reply (evidence: `app.py`)
- Site visitor → Flask application: submits requests
- Flask application → Application database: queries data (evidence: `app.py`)
- Flask application → Information pages: renders careers (evidence: `app.py`)
