# zuzith3art1st/smme-agent architecture

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

## Overview

SMME-AGENT is a Streamlit prototype for streamlining Seed2Harvest farmer orders. A farmer authorizes access, browses products and builds a basket, then can chat with an AI assistant and request a checkout receipt. The app also presents a global activity feed from order data. The sampled code supports receipt confirmation and basket clearing, but does not show writing confirmed orders; the feed reads existing order records. Components are grouped by workflow and persistence; several responsibilities share app.py.

Main entry points: [`app.py`](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py) (Streamlit app), [`The_Database.py`](https://github.com/zuzith3art1st/smme-agent/blob/main/The_Database.py) (Database initializer), [`the_farm_agent.db`](https://github.com/zuzith3art1st/smme-agent/blob/main/the_farm_agent.db) (Farm agent database), [`The_Main_Database.sql`](https://github.com/zuzith3art1st/smme-agent/blob/main/The_Main_Database.sql) (Database schema)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Ordering workflow"]
  node_app["Streamlit app<br/>[app.py]"]
  node_authorization["Farmer authorization<br/>[app.py]"]
  node_catalogue["Product catalogue<br/>[app.py]"]
  node_basket["Order basket<br/>[app.py]"]
  node_checkout["Receipt checkout<br/>[app.py]"]
  node_activity["Global activity feed<br/>[app.py]"]
end

subgraph group_intelligence["AI assistance"]
  node_chat["Chat handling<br/>[app.py]"]
  node_assistant["Seed2Harvest assistant<br/>[app.py]"]
end

subgraph group_persistence["Data persistence"]
  node_db_access["SQLite access<br/>[app.py]"]
  node_database[("Farm agent database<br/>[the_farm_agent.db]")]
  node_db_initializer["Database initializer<br/>[The_Database.py]"]
  node_schema["Database schema"]
end

node_farmer(("Farmer"))
node_groq["Groq API"]

node_farmer -->|"uses"| node_app
node_app -->|"displays"| node_authorization
node_authorization -->|"creates farmer"| node_db_access
node_app -->|"displays"| node_catalogue
node_catalogue -->|"reads products"| node_db_access
node_app -->|"updates"| node_basket
node_app -->|"handles messages"| node_chat
node_chat -->|"requests reply"| node_assistant
node_assistant -->|"reads catalogue"| node_db_access
node_assistant -->|"sends chat"| node_groq
node_app -->|"displays receipt"| node_checkout
node_checkout -->|"reads prices"| node_db_access
node_app -->|"displays feed"| node_activity
node_activity -->|"reads order data"| node_db_access
node_db_access -->|"queries"| node_database
node_db_initializer -->|"loads SQL"| node_schema
node_db_initializer -->|"initializes"| node_database

click node_app "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_authorization "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_catalogue "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_basket "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_checkout "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_activity "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_chat "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_assistant "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_db_access "https://github.com/zuzith3art1st/smme-agent/blob/main/app.py"
click node_database "https://github.com/zuzith3art1st/smme-agent/blob/main/the_farm_agent.db"
click node_db_initializer "https://github.com/zuzith3art1st/smme-agent/blob/main/The_Database.py"
click node_schema "https://github.com/zuzith3art1st/smme-agent/blob/main/The_Main_Database.sql"

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,node_authorization,node_catalogue,node_basket,node_checkout,node_activity toneBlue
class node_chat,node_assistant toneAmber
class node_db_access,node_database,node_db_initializer,node_schema,node_groq toneMint
class node_farmer toneIndigo
```

## Components

### Ordering workflow

- [Streamlit app](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Farmer authorization](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Product catalogue](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Order basket](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Receipt checkout](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Global activity feed](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`

### AI assistance

- [Chat handling](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Seed2Harvest assistant](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`

### Data persistence

- [SQLite access](https://github.com/zuzith3art1st/smme-agent/blob/main/app.py): `app.py`
- [Farm agent database](https://github.com/zuzith3art1st/smme-agent/blob/main/the_farm_agent.db): `the_farm_agent.db`
- [Database initializer](https://github.com/zuzith3art1st/smme-agent/blob/main/The_Database.py): `The_Database.py`
- [Database schema](https://github.com/zuzith3art1st/smme-agent/blob/main/The_Main_Database.sql): `The_Main_Database.sql`

### Other components

- **Farmer**
- **Groq API**

## Connections

- Farmer → Streamlit app: uses
- Streamlit app → Farmer authorization: displays
- Farmer authorization → SQLite access: creates farmer
- Streamlit app → Product catalogue: displays
- Product catalogue → SQLite access: reads products
- Streamlit app → Order basket: updates
- Streamlit app → Chat handling: handles messages
- Chat handling → Seed2Harvest assistant: requests reply
- Seed2Harvest assistant → SQLite access: reads catalogue
- Seed2Harvest assistant → Groq API: sends chat
- Streamlit app → Receipt checkout: displays receipt
- Receipt checkout → SQLite access: reads prices
- Streamlit app → Global activity feed: displays feed
- Global activity feed → SQLite access: reads order data
- SQLite access → Farm agent database: queries
- Database initializer → Database schema: loads SQL
- Database initializer → Farm agent database: initializes
