# 6.3 System Architecture Diagram ```mermaid flowchart TB U[End User] subgraph L1[Presentation Layer] FE[React Frontend
chat interface] end subgraph L2[Application Layer] API[Flask Web Application
routing + /chat API] STATIC[Static Asset Serving
serves built frontend] end subgraph L3[Service / Business Logic Layer] CHAT[ChatService
request orchestration] RULES[Intent, Topic, Safety,
Follow-up, Template Logic] end subgraph L4[Intelligence Layer] EMO[Emotion Classifier
GoEmotions RoBERTa] LLM[Response Generator
Flan-T5] RET[KnowledgeBaseRetriever
TF-IDF / Embedding retrieval] end subgraph L5[Data / Knowledge Layer] KB[Local Knowledge Base
menstrual-health text files] HIST[Conversation History
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)