# jubayerrahman/taskhunterapp architecture

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

- Interactive diagram: https://gitdiagram.com/jubayerrahman/taskhunterapp
- Repository: https://github.com/jubayerrahman/taskhunterapp

## Overview

TaskHunter is a family chore-and-rewards app: parents review household activity, manage chores and rewards, and monitor children; children can claim tasks and earn points. Its visible runtime is an Expo Router stack containing five tab screens, with those screens reading bundled JSON data and keeping UI state locally. The excerpts show the tab registrations and several data imports, but not all screen logic; connections to unsampled behavior are therefore omitted. App.js is a separate placeholder registered by index.js, while package.json identifies Expo Router as the configured entry.

Main entry points: [`app/(tabs)/_layout.jsx`](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/_layout.jsx) (Tab navigation), [`assets/data/chores.json`](https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/chores.json) (Chore data), [`app/(tabs)/Home.jsx`](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/Home.jsx) (Family dashboard), [`app/(tabs)/children.jsx`](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/children.jsx) (Children profiles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_navigation["App navigation"]
  node_root["Root stack<br/>[_layout.jsx]"]
  node_tabs["Tab navigation<br/>[_layout.jsx]"]
  node_legacyapp["Placeholder app<br/>[App.js]"]
  node_entry["Root registration<br/>[index.js]"]
end

subgraph group_family["Family overview"]
  node_home["Family dashboard<br/>[Home.jsx]"]
  node_children["Children profiles<br/>[children.jsx]"]
  node_profile["Parent profile<br/>[Profile.jsx]"]
end

subgraph group_tasks["Chore management"]
  node_chores["Chore management<br/>[chores.jsx]"]
end

subgraph group_rewards["Rewards and account"]
  node_rewards["Rewards store<br/>[rewards.jsx]"]
end

subgraph group_data["Bundled data"]
  node_usersdata[("Family user data<br/>[users.json]")]
  node_choresdata[("Chore data<br/>[chores.json]")]
  node_rewardsdata[("Reward data<br/>[rewards.json]")]
end

node_user(("Family user"))

node_user -.->|"opens app"| node_root
node_root -->|"routes to"| node_tabs
node_tabs -->|"registers tab"| node_home
node_tabs -->|"registers tab"| node_chores
node_tabs -->|"registers tab"| node_rewards
node_tabs -->|"registers tab"| node_children
node_tabs -->|"registers tab"| node_profile
node_home -->|"reads"| node_usersdata
node_home -->|"reads"| node_choresdata
node_children -->|"reads"| node_usersdata
node_children -->|"reads"| node_choresdata
node_profile -->|"reads"| node_usersdata
node_profile -->|"reads"| node_choresdata
node_chores -->|"reads"| node_choresdata
node_rewards -->|"reads"| node_rewardsdata
node_entry -->|"registers"| node_legacyapp

click node_root "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/_layout.jsx"
click node_tabs "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/_layout.jsx"
click node_home "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/Home.jsx"
click node_children "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/children.jsx"
click node_profile "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/Profile.jsx"
click node_chores "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/chores.jsx"
click node_rewards "https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/rewards.jsx"
click node_usersdata "https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/users.json"
click node_choresdata "https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/chores.json"
click node_rewardsdata "https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/rewards.json"
click node_legacyapp "https://github.com/jubayerrahman/taskhunterapp/blob/main/App.js"
click node_entry "https://github.com/jubayerrahman/taskhunterapp/blob/main/index.js"

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_root,node_tabs,node_legacyapp,node_entry,node_user toneBlue
class node_home,node_children,node_profile toneAmber
class node_chores toneMint
class node_rewards toneRose
class node_usersdata,node_choresdata,node_rewardsdata toneIndigo
```

## Components

### App navigation

- [Root stack](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/_layout.jsx): `app/_layout.jsx`
- [Tab navigation](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/_layout.jsx): `app/(tabs)/_layout.jsx`
- [Placeholder app](https://github.com/jubayerrahman/taskhunterapp/blob/main/App.js): `App.js`
- [Root registration](https://github.com/jubayerrahman/taskhunterapp/blob/main/index.js): `index.js`

### Family overview

- [Family dashboard](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/Home.jsx): `app/(tabs)/Home.jsx`
- [Children profiles](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/children.jsx): `app/(tabs)/children.jsx`
- [Parent profile](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/Profile.jsx): `app/(tabs)/Profile.jsx`

### Chore management

- [Chore management](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/chores.jsx): `app/(tabs)/chores.jsx`

### Rewards and account

- [Rewards store](https://github.com/jubayerrahman/taskhunterapp/blob/main/app/(tabs)/rewards.jsx): `app/(tabs)/rewards.jsx`

### Bundled data

- [Family user data](https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/users.json): `assets/data/users.json`
- [Chore data](https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/chores.json): `assets/data/chores.json`
- [Reward data](https://github.com/jubayerrahman/taskhunterapp/blob/main/assets/data/rewards.json): `assets/data/rewards.json`

### Other components

- **Family user**

## Connections

- Family user → Root stack: opens app
- Root stack → Tab navigation: routes to (evidence: `app/_layout.jsx`)
- Tab navigation → Family dashboard: registers tab (evidence: `app/(tabs)/_layout.jsx`)
- Tab navigation → Chore management: registers tab (evidence: `app/(tabs)/_layout.jsx`)
- Tab navigation → Rewards store: registers tab (evidence: `app/(tabs)/_layout.jsx`)
- Tab navigation → Children profiles: registers tab (evidence: `app/(tabs)/_layout.jsx`)
- Tab navigation → Parent profile: registers tab (evidence: `app/(tabs)/_layout.jsx`)
- Family dashboard → Family user data: reads (evidence: `app/(tabs)/Home.jsx`)
- Family dashboard → Chore data: reads (evidence: `app/(tabs)/Home.jsx`)
- Children profiles → Family user data: reads (evidence: `app/(tabs)/children.jsx`)
- Children profiles → Chore data: reads (evidence: `app/(tabs)/children.jsx`)
- Parent profile → Family user data: reads (evidence: `app/(tabs)/Profile.jsx`)
- Parent profile → Chore data: reads (evidence: `app/(tabs)/Profile.jsx`)
- Chore management → Chore data: reads (evidence: `app/(tabs)/chores.jsx`)
- Rewards store → Reward data: reads (evidence: `app/(tabs)/rewards.jsx`)
- Root registration → Placeholder app: registers (evidence: `index.js`)
