Spaces:
Sleeping
Sleeping
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)