# greeklx/team-talapulse-tanaworbit architecture

> Architecture diagram of the GitHub repository greeklx/team-talapulse-tanaworbit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/greeklx/team-talapulse-tanaworbit
- Repository: https://github.com/greeklx/team-talapulse-tanaworbit

## Overview

TanawOrbit is an educational astronaut-health prototype, not a clinical or spacecraft system. Its main workflow is demo access into an in-memory crew console for synthetic health check-ins and mission-health review; separate admin and tester portals support crew review and API fixture verification. The Worker independently republishes read-only synthetic fixtures. The console and Worker share JSON datasets, but the console does not otherwise call the Worker. Edges reflect the supplied excerpts and README; unsampled feature internals are represented at subsystem level.

Main entry points: [`p-console/src/App.tsx`](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/App.tsx) (Crew console), [`p-console/src/Portals.tsx`](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/Portals.tsx) (Demo access portals), [`p-console/src/data.ts`](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/data.ts) (Console data logic), [`p-console/src/toolkitData.ts`](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/toolkitData.ts) (Toolkit and FAQ logic)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_console["Crew Console"]
  node_consoleapp["Crew console<br/>[App.tsx]"]
  node_mission["Mission review panels"]
  node_exercise["Exercise panel<br/>[ExercisePanel.tsx]"]
  node_display["Display controls"]
end

subgraph group_education["Health Education"]
  node_reminders["Routine reminders"]
  node_toolkit["Health toolkit<br/>[HealthToolkit.tsx]"]
  node_guide["Fixed-answer guide<br/>[TanawGuide.tsx]"]
  node_nextsteps["Next steps<br/>[NextSteps.tsx]"]
  node_toolkitdata["Toolkit and FAQ logic<br/>[toolkitData.ts]"]
end

subgraph group_portals["Demo Portals"]
  node_routing["Portal routing<br/>[routes.tsx]"]
  node_portal["Demo access portals<br/>[Portals.tsx]"]
  node_signin["Demo sign-in<br/>[DemoSignIn.tsx]"]
  node_session["Demo session<br/>[session.ts]"]
end

subgraph group_api["Read-only API"]
  node_apiworker["Fixture API<br/>[index.ts]"]
  node_apifixtures["API fixture loader<br/>[fixtures.ts]"]
  node_accuracy["Trend and verification<br/>[accuracy.ts]"]
end

subgraph group_data["Synthetic Data"]
  node_consoledata["Console data logic<br/>[data.ts]"]
  node_fixtures["Synthetic JSON fixtures"]
end

node_astronaut(("Astronaut"))
node_admin(("Admin reviewer"))
node_tester(("Fixture tester"))

node_astronaut -->|"opens console"| node_routing
node_admin -->|"opens review"| node_routing
node_tester -->|"opens tester"| node_routing
node_routing -->|"routes to"| node_portal
node_portal -->|"renders"| node_signin
node_portal -->|"reads session"| node_session
node_portal -->|"opens profile"| node_consoleapp
node_portal -->|"requests verification"| node_apiworker
node_consoleapp -->|"renders panels"| node_mission
node_consoleapp -->|"renders"| node_exercise
node_consoleapp -->|"uses controls"| node_display
node_consoleapp -->|"uses reminders"| node_reminders
node_consoleapp -->|"loads toolkit"| node_toolkit
node_consoleapp -->|"loads guide"| node_guide
node_consoleapp -->|"renders"| node_nextsteps
node_consoleapp -->|"reads health data"| node_consoledata
node_mission -->|"uses records"| node_consoledata
node_exercise -->|"uses records"| node_consoledata
node_toolkit -->|"uses guidance"| node_toolkitdata
node_toolkit -->|"reads records"| node_consoledata
node_guide -->|"selects answers"| node_toolkitdata
node_nextsteps -->|"uses toolkit data"| node_toolkitdata
node_consoledata -->|"imports fixtures"| node_fixtures
node_toolkitdata -->|"imports toolkit data"| node_fixtures
node_apiworker -->|"serves fixtures"| node_apifixtures
node_apiworker -->|"runs verification"| node_accuracy
node_apifixtures -->|"imports fixtures"| node_fixtures
node_accuracy -->|"checks fixture data"| node_apifixtures

click node_routing "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/routes.tsx"
click node_portal "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/Portals.tsx"
click node_signin "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/DemoSignIn.tsx"
click node_session "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/session.ts"
click node_consoleapp "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/App.tsx"
click node_mission "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/MissionFeatures.tsx"
click node_exercise "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/ExercisePanel.tsx"
click node_display "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/useConsoleDisplay.ts"
click node_reminders "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/useRoutineReminders.ts"
click node_toolkit "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/HealthToolkit.tsx"
click node_guide "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/TanawGuide.tsx"
click node_nextsteps "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/NextSteps.tsx"
click node_consoledata "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/data.ts"
click node_toolkitdata "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/toolkitData.ts"
click node_fixtures "https://github.com/greeklx/team-talapulse-tanaworbit/tree/main/datasets"
click node_apiworker "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/index.ts"
click node_apifixtures "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/fixtures.ts"
click node_accuracy "https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/accuracy.ts"

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_consoleapp,node_mission,node_exercise,node_display,node_admin toneBlue
class node_reminders,node_toolkit,node_guide,node_nextsteps,node_toolkitdata toneAmber
class node_routing,node_portal,node_signin,node_session toneMint
class node_apiworker,node_apifixtures,node_accuracy toneRose
class node_consoledata,node_fixtures,node_astronaut,node_tester toneIndigo
```

## Components

### Crew Console

- [Crew console](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/App.tsx): `p-console/src/App.tsx`
- [Mission review panels](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/MissionFeatures.tsx): `p-console/src/MissionFeatures.tsx`
- [Exercise panel](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/ExercisePanel.tsx): `p-console/src/ExercisePanel.tsx`
- [Display controls](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/useConsoleDisplay.ts): `p-console/src/useConsoleDisplay.ts`

### Health Education

- [Routine reminders](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/useRoutineReminders.ts): `p-console/src/useRoutineReminders.ts`
- [Health toolkit](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/HealthToolkit.tsx): `p-console/src/HealthToolkit.tsx`
- [Fixed-answer guide](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/TanawGuide.tsx): `p-console/src/TanawGuide.tsx`
- [Next steps](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/NextSteps.tsx): `p-console/src/NextSteps.tsx`
- [Toolkit and FAQ logic](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/toolkitData.ts): `p-console/src/toolkitData.ts`

### Demo Portals

- [Portal routing](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/routes.tsx): `p-console/src/routes.tsx`
- [Demo access portals](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/Portals.tsx): `p-console/src/Portals.tsx`
- [Demo sign-in](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/DemoSignIn.tsx): `p-console/src/DemoSignIn.tsx`
- [Demo session](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/session.ts): `p-console/src/session.ts`

### Read-only API

- [Fixture API](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/index.ts): `tanaworbit-api/src/index.ts`
- [API fixture loader](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/fixtures.ts): `tanaworbit-api/src/fixtures.ts`
- [Trend and verification](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/tanaworbit-api/src/accuracy.ts): `tanaworbit-api/src/accuracy.ts`

### Synthetic Data

- [Console data logic](https://github.com/greeklx/team-talapulse-tanaworbit/blob/main/p-console/src/data.ts): `p-console/src/data.ts`
- [Synthetic JSON fixtures](https://github.com/greeklx/team-talapulse-tanaworbit/tree/main/datasets): `datasets`

### Other components

- **Astronaut**
- **Admin reviewer**
- **Fixture tester**

## Connections

- Astronaut → Portal routing: opens console (evidence: `p-console/src/routes.tsx`)
- Admin reviewer → Portal routing: opens review (evidence: `p-console/src/routes.tsx`)
- Fixture tester → Portal routing: opens tester (evidence: `p-console/src/routes.tsx`)
- Portal routing → Demo access portals: routes to (evidence: `p-console/src/routes.tsx`)
- Demo access portals → Demo sign-in: renders (evidence: `p-console/src/Portals.tsx`)
- Demo access portals → Demo session: reads session (evidence: `p-console/src/Portals.tsx`)
- Demo access portals → Crew console: opens profile (evidence: `p-console/src/Portals.tsx`)
- Demo access portals → Fixture API: requests verification (evidence: `README.md`)
- Crew console → Mission review panels: renders panels (evidence: `p-console/src/App.tsx`)
- Crew console → Exercise panel: renders (evidence: `p-console/src/App.tsx`)
- Crew console → Display controls: uses controls (evidence: `p-console/src/App.tsx`)
- Crew console → Routine reminders: uses reminders (evidence: `p-console/src/App.tsx`)
- Crew console → Health toolkit: loads toolkit (evidence: `p-console/src/App.tsx`)
- Crew console → Fixed-answer guide: loads guide (evidence: `p-console/src/App.tsx`)
- Crew console → Next steps: renders (evidence: `p-console/src/App.tsx`)
- Crew console → Console data logic: reads health data (evidence: `p-console/src/App.tsx`)
- Mission review panels → Console data logic: uses records (evidence: `p-console/src/MissionFeatures.tsx`)
- Exercise panel → Console data logic: uses records (evidence: `p-console/src/ExercisePanel.tsx`)
- Health toolkit → Toolkit and FAQ logic: uses guidance (evidence: `p-console/src/HealthToolkit.tsx`)
- Health toolkit → Console data logic: reads records (evidence: `p-console/src/HealthToolkit.tsx`)
- Fixed-answer guide → Toolkit and FAQ logic: selects answers (evidence: `p-console/src/TanawGuide.tsx`)
- Next steps → Toolkit and FAQ logic: uses toolkit data (evidence: `p-console/src/NextSteps.tsx`)
- Console data logic → Synthetic JSON fixtures: imports fixtures (evidence: `p-console/src/data.ts`)
- Toolkit and FAQ logic → Synthetic JSON fixtures: imports toolkit data (evidence: `p-console/src/toolkitData.ts`)
- Fixture API → API fixture loader: serves fixtures (evidence: `tanaworbit-api/src/index.ts`)
- Fixture API → Trend and verification: runs verification (evidence: `tanaworbit-api/src/index.ts`)
- API fixture loader → Synthetic JSON fixtures: imports fixtures (evidence: `tanaworbit-api/src/fixtures.ts`)
- Trend and verification → API fixture loader: checks fixture data (evidence: `tanaworbit-api/src/accuracy.ts`)
