EmpowerHer / docs /system_architecture_diagram.md
Disini Ruhansa Kodagoda Hettige
Update chatbot responses
23b0ad9

6.3 System Architecture Diagram

flowchart TB
    U[End User]

    subgraph L1[Presentation Layer]
        FE[React Frontend<br/>chat interface]
    end

    subgraph L2[Application Layer]
        API[Flask Web Application<br/>routing + /chat API]
        STATIC[Static Asset Serving<br/>serves built frontend]
    end

    subgraph L3[Service / Business Logic Layer]
        CHAT[ChatService<br/>request orchestration]
        RULES[Intent, Topic, Safety,<br/>Follow-up, Template Logic]
    end

    subgraph L4[Intelligence Layer]
        EMO[Emotion Classifier<br/>GoEmotions RoBERTa]
        LLM[Response Generator<br/>Flan-T5]
        RET[KnowledgeBaseRetriever<br/>TF-IDF / Embedding retrieval]
    end

    subgraph L5[Data / Knowledge Layer]
        KB[Local Knowledge Base<br/>menstrual-health text files]
        HIST[Conversation History<br/>user message context]
    end

    U --> FE
    FE --> API
    FE --> STATIC
    API --> CHAT
    CHAT --> RULES
    CHAT --> EMO
    CHAT --> LLM
    CHAT --> RET
    RET --> KB
    CHAT --> HIST
    RULES --> LLM
    RULES --> RET
    LLM --> CHAT
    EMO --> CHAT
    RET --> CHAT
    CHAT --> API
    API --> FE

Source alignment:

  • [app.py](d:\FYP IMPLEMENTATION\EmpowerHer_Chatbot\app\app.py)
  • [chat_service.py](d:\FYP IMPLEMENTATION\EmpowerHer_Chatbot\services\chat_service.py)
  • [emotion_classifier.py](d:\FYP IMPLEMENTATION\EmpowerHer_Chatbot\models\emotion_classifier.py)
  • [response_generator.py](d:\FYP IMPLEMENTATION\EmpowerHer_Chatbot\models\response_generator.py)
  • [kb_retriever.py](d:\FYP IMPLEMENTATION\EmpowerHer_Chatbot\services\kb_retriever.py)