# narendraprasadrn/neuro_edtech_learning_app architecture

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

- Interactive diagram: https://gitdiagram.com/narendraprasadrn/neuro_edtech_learning_app
- Repository: https://github.com/narendraprasadrn/neuro_edtech_learning_app
- Video tour (about a minute): https://gitdiagram.com/narendraprasadrn/neuro_edtech_learning_app/video

## Overview

Neuro EdTech is a cognitive-state-adaptive learning app combining a React experience, a Node API, JavaScript state inference, and a Python learning companion. The principal documented workflow is that a learner enters the Learning Zone, interacts with learning/chat features, and receives content and UI adapted to cognitive state. The backend proxies prediction requests to the ML server and chat or content-processing requests to the chatbot. The README documents real-time state updates and interactive learning; sampled code confirms API routes and selected UI behavior, but not all frontend-to-API wiring, so uncertain links are omitted.

Main entry points: [`myapp/Frontend/src/App.tsx`](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/App.tsx) (App shell), [`myapp/Frontend/src/components/LearningZone.tsx`](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/LearningZone.tsx) (Learning Zone), [`myapp/backend/index.js`](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/backend/index.js) (API gateway), [`myapp/ML/train_soft.js`](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/train_soft.js) (Soft-label trainer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["Learner experience"]
  node_app["App shell<br/>[App.tsx]"]
  node_learning["Learning Zone<br/>[LearningZone.tsx]"]
  node_dashboard["Dashboard<br/>[Dashboard.tsx]"]
  node_store["Store<br/>[Store.tsx]"]
  node_avatar["Avatar UI<br/>[Avatar.tsx]"]
  node_interventions["Learning activities<br/>[MiniGameModal.tsx]"]
end

subgraph group_api["Application API"]
  node_backend["API gateway<br/>[index.js]"]
end

subgraph group_cognition["Cognitive inference"]
  node_ml["Inference server<br/>[ml_server.js]"]
  node_training["Soft-label trainer<br/>[train_soft.js]"]
  node_generator["EEG data generator<br/>[balanced_soft.js]"]
end

subgraph group_companion["AI companion"]
  node_chatapi["Chatbot API<br/>[chat_api.py]"]
  node_core["Chat and content core<br/>[core.py]"]
end

node_learner(("Learner"))
node_model{{"Generative AI"}}
node_browserstate[("Browser storage")]

node_learner -->|"uses"| node_app
node_app -->|"renders"| node_learning
node_app -->|"renders"| node_dashboard
node_app -->|"renders"| node_store
node_app -->|"renders"| node_avatar
node_app -->|"persists profile"| node_browserstate
node_learning -->|"uploads files"| node_backend
node_learning -->|"offers activities"| node_interventions
node_backend -->|"forwards requests"| node_chatapi
node_chatapi -->|"calls"| node_core
node_core -->|"generates responses"| node_model
node_backend -->|"forwards predictions"| node_ml
node_generator -->|"provides training data"| node_training
node_training -.->|"produces model"| node_ml

click node_app "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/App.tsx"
click node_learning "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/LearningZone.tsx"
click node_dashboard "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Dashboard.tsx"
click node_store "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Store.tsx"
click node_avatar "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Avatar.tsx"
click node_interventions "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/interventions/MiniGameModal.tsx"
click node_backend "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/backend/index.js"
click node_ml "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/ml_server.js"
click node_training "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/train_soft.js"
click node_generator "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/balanced_soft.js"
click node_chatapi "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/CHATBOT___/chat_api.py"
click node_core "https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/CHATBOT___/core.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_app,node_learning,node_dashboard,node_store,node_avatar,node_interventions toneBlue
class node_backend,node_browserstate toneAmber
class node_ml,node_training,node_generator toneMint
class node_chatapi,node_core toneRose
class node_learner,node_model toneIndigo
```

## Components

### Learner experience

- [App shell](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/App.tsx): `myapp/Frontend/src/App.tsx`
- [Learning Zone](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/LearningZone.tsx): `myapp/Frontend/src/components/LearningZone.tsx`
- [Dashboard](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Dashboard.tsx): `myapp/Frontend/src/components/Dashboard.tsx`
- [Store](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Store.tsx): `myapp/Frontend/src/components/Store.tsx`
- [Avatar UI](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/Avatar.tsx): `myapp/Frontend/src/components/Avatar.tsx`
- [Learning activities](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/Frontend/src/components/interventions/MiniGameModal.tsx): `myapp/Frontend/src/components/interventions/MiniGameModal.tsx`

### Application API

- [API gateway](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/backend/index.js): `myapp/backend/index.js`

### Cognitive inference

- [Inference server](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/ml_server.js): `myapp/ML/ml_server.js`
- [Soft-label trainer](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/train_soft.js): `myapp/ML/train_soft.js`
- [EEG data generator](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/ML/balanced_soft.js): `myapp/ML/balanced_soft.js`

### AI companion

- [Chatbot API](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/CHATBOT___/chat_api.py): `myapp/CHATBOT___/chat_api.py`
- [Chat and content core](https://github.com/narendraprasadrn/neuro_edtech_learning_app/blob/main/myapp/CHATBOT___/core.py): `myapp/CHATBOT___/core.py`

### Other components

- **Learner**
- **Generative AI**
- **Browser storage**

## Connections

- Learner → App shell: uses
- App shell → Learning Zone: renders
- App shell → Dashboard: renders
- App shell → Store: renders
- App shell → Avatar UI: renders
- App shell → Browser storage: persists profile
- Learning Zone → API gateway: uploads files
- Learning Zone → Learning activities: offers activities
- API gateway → Chatbot API: forwards requests
- Chatbot API → Chat and content core: calls
- Chat and content core → Generative AI: generates responses
- API gateway → Inference server: forwards predictions
- EEG data generator → Soft-label trainer: provides training data
- Soft-label trainer → Inference server: produces model
