# mmbarrys/navigara architecture

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

- Interactive diagram: https://gitdiagram.com/mmbarrys/navigara
- Repository: https://github.com/mmbarrys/navigara

## Overview

NAVIGARA is an ASN talent-management application with three product pillars: candidate assessment (Lentera), employee performance and public-impact analysis (Selayar), and organizational collaboration simulation (Nakhoda). Users enter through the landing/login flow, then use the routed dashboard and modules to submit data and view generated results or history. The frontend component relationships and module routes are evidenced in excerpts; backend endpoint calls are visible in frontend callers, but the supplied evidence does not establish which backend serves them, so those links are dashed. Backend internals and storage wiring are not described here.

Main entry points: [`frontend/src/App.jsx`](https://github.com/mmbarrys/navigara/blob/main/frontend/src/App.jsx) (App routing), [`frontend/src/components/AiOutput.jsx`](https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/AiOutput.jsx) (AI text renderer), [`frontend/src/pages/Lentera.jsx`](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Lentera.jsx) (Lentera assessment), [`frontend/src/pages/Selayar.jsx`](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Selayar.jsx) (Selayar analysis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_navigation["Entry and navigation"]
  node_app["App routing<br/>[App.jsx]"]
  node_landing["Landing page<br/>[LandingPage.jsx]"]
  node_login["Login<br/>[Login.jsx]"]
  node_dashboard["Dashboard<br/>[Dashboard.jsx]"]
  node_history["Assessment history"]
end

subgraph group_assessment["Talent assessment"]
  node_lentera["Lentera assessment<br/>[Lentera.jsx]"]
  node_lenteraresult["Candidate result card"]
  node_aioutput["AI text renderer<br/>[AiOutput.jsx]"]
  node_scorebar["Score visualization<br/>[ScoreBar.jsx]"]
end

subgraph group_performance["Performance analysis"]
  node_selayar["Selayar analysis<br/>[Selayar.jsx]"]
  node_selayarresult["Performance result card"]
end

subgraph group_organization["Organizational insights"]
  node_nakhoda["Nakhoda simulation<br/>[Nakhoda.jsx]"]
end

subgraph group_services["Backend services"]
  node_nodebackend["Node backend<br/>[server.js]"]
  node_pythonbackend["Python backend<br/>[app.py]"]
  node_assessmentdb[("Assessment log database<br/>[assessment_log.db]")]
end

node_user(("Administrator"))

node_user -->|"opens"| node_landing
node_app -->|"routes to"| node_landing
node_app -->|"routes to"| node_login
node_app -->|"routes to"| node_dashboard
node_app -->|"routes to"| node_lentera
node_app -->|"routes to"| node_selayar
node_app -->|"routes to"| node_nakhoda
node_app -->|"routes to"| node_history
node_lentera -->|"renders"| node_lenteraresult
node_lentera -->|"renders"| node_aioutput
node_lenteraresult -->|"renders"| node_aioutput
node_lenteraresult -->|"renders"| node_scorebar
node_selayar -.->|"renders"| node_selayarresult
node_selayar -->|"renders"| node_aioutput
node_selayarresult -->|"renders"| node_aioutput
node_selayarresult -->|"renders"| node_scorebar
node_nakhoda -->|"renders"| node_aioutput
node_lentera -.->|"requests API"| node_pythonbackend
node_selayar -.->|"requests API"| node_pythonbackend
node_nakhoda -.->|"requests API"| node_pythonbackend

click node_app "https://github.com/mmbarrys/navigara/blob/main/frontend/src/App.jsx"
click node_landing "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/LandingPage.jsx"
click node_login "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Login.jsx"
click node_dashboard "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Dashboard.jsx"
click node_history "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/AssessmentHistory.jsx"
click node_lentera "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Lentera.jsx"
click node_lenteraresult "https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ProfileCardLentera.jsx"
click node_selayar "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Selayar.jsx"
click node_selayarresult "https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ProfileCardSelayar.jsx"
click node_nakhoda "https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Nakhoda.jsx"
click node_aioutput "https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/AiOutput.jsx"
click node_scorebar "https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ScoreBar.jsx"
click node_nodebackend "https://github.com/mmbarrys/navigara/blob/main/backend-node/server.js"
click node_pythonbackend "https://github.com/mmbarrys/navigara/blob/main/backend-python/app.py"
click node_assessmentdb "https://github.com/mmbarrys/navigara/blob/main/backend-python/instance/assessment_log.db"

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_landing,node_login,node_dashboard,node_history toneBlue
class node_lentera,node_lenteraresult,node_aioutput,node_scorebar toneAmber
class node_selayar,node_selayarresult toneMint
class node_nakhoda toneRose
class node_nodebackend,node_pythonbackend,node_assessmentdb,node_user toneIndigo
```

## Components

### Entry and navigation

- [App routing](https://github.com/mmbarrys/navigara/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Landing page](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/LandingPage.jsx): `frontend/src/pages/LandingPage.jsx`
- [Login](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Login.jsx): `frontend/src/pages/Login.jsx`
- [Dashboard](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Dashboard.jsx): `frontend/src/pages/Dashboard.jsx`
- [Assessment history](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/AssessmentHistory.jsx): `frontend/src/pages/AssessmentHistory.jsx`

### Talent assessment

- [Lentera assessment](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Lentera.jsx): `frontend/src/pages/Lentera.jsx`
- [Candidate result card](https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ProfileCardLentera.jsx): `frontend/src/components/ProfileCardLentera.jsx`
- [AI text renderer](https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/AiOutput.jsx): `frontend/src/components/AiOutput.jsx`
- [Score visualization](https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ScoreBar.jsx): `frontend/src/components/ScoreBar.jsx`

### Performance analysis

- [Selayar analysis](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Selayar.jsx): `frontend/src/pages/Selayar.jsx`
- [Performance result card](https://github.com/mmbarrys/navigara/blob/main/frontend/src/components/ProfileCardSelayar.jsx): `frontend/src/components/ProfileCardSelayar.jsx`

### Organizational insights

- [Nakhoda simulation](https://github.com/mmbarrys/navigara/blob/main/frontend/src/pages/Nakhoda.jsx): `frontend/src/pages/Nakhoda.jsx`

### Backend services

- [Node backend](https://github.com/mmbarrys/navigara/blob/main/backend-node/server.js): `backend-node/server.js`
- [Python backend](https://github.com/mmbarrys/navigara/blob/main/backend-python/app.py): `backend-python/app.py`
- [Assessment log database](https://github.com/mmbarrys/navigara/blob/main/backend-python/instance/assessment_log.db): `backend-python/instance/assessment_log.db`

### Other components

- **Administrator**

## Connections

- Administrator → Landing page: opens
- App routing → Landing page: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Login: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Dashboard: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Lentera assessment: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Selayar analysis: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Nakhoda simulation: routes to (evidence: `frontend/src/App.jsx`)
- App routing → Assessment history: routes to (evidence: `frontend/src/App.jsx`)
- Lentera assessment → Candidate result card: renders (evidence: `frontend/src/pages/Lentera.jsx`)
- Lentera assessment → AI text renderer: renders (evidence: `frontend/src/pages/Lentera.jsx`)
- Candidate result card → AI text renderer: renders (evidence: `frontend/src/components/ProfileCardLentera.jsx`)
- Candidate result card → Score visualization: renders (evidence: `frontend/src/components/ProfileCardLentera.jsx`)
- Selayar analysis → Performance result card: renders (evidence: `frontend/src/pages/Selayar.jsx`)
- Selayar analysis → AI text renderer: renders (evidence: `frontend/src/pages/Selayar.jsx`)
- Performance result card → AI text renderer: renders (evidence: `frontend/src/components/ProfileCardSelayar.jsx`)
- Performance result card → Score visualization: renders (evidence: `frontend/src/components/ProfileCardSelayar.jsx`)
- Nakhoda simulation → AI text renderer: renders (evidence: `frontend/src/pages/Nakhoda.jsx`)
- Lentera assessment → Python backend: requests API
- Selayar analysis → Python backend: requests API
- Nakhoda simulation → Python backend: requests API
