# hersh3y/gohelpme architecture

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

- Interactive diagram: https://gitdiagram.com/hersh3y/gohelpme
- Repository: https://github.com/hersh3y/gohelpme

## Overview

GoHelpMe is a mobile disaster-help coordination app. Users can open help-finding, volunteer, and map screens from the home screen; the sampled volunteer flow submits volunteer details and checks nearby help requests, while the map displays periodically refreshed help and volunteer locations. The help screen’s implementation and the root layout were not sampled, and the README provides no further product detail, so their behavior and wiring are not inferred.

Main entry points: [`cuhackit/app/screens/VolunteerScreen.tsx`](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/VolunteerScreen.tsx) (Volunteer signup), [`cuhackit/app/screens/ViewMapScreen.tsx`](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/ViewMapScreen.tsx) (View map), [`cuhackit/app/index.tsx`](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/index.tsx) (Home screen), [`cuhackit/app/screens/FindHelpScreen.tsx`](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/FindHelpScreen.tsx) (Find help)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_navigation["App navigation"]
  node_home["Home screen<br/>[index.tsx]"]
  node_layout["App layout<br/>[_layout.tsx]"]
end

subgraph group_coordination["Help coordination"]
  node_find_help["Find help<br/>[FindHelpScreen.tsx]"]
  node_volunteer["Volunteer signup"]
  node_location["Device location"]
  node_backend["GoHelpMe API"]
  node_notifications["Local notifications"]
end

subgraph group_presentation["Map and display"]
  node_map_screen["View map<br/>[ViewMapScreen.tsx]"]
  node_map_view["Native map display"]
end

node_user(("App user"))

node_user -->|"opens app"| node_home
node_home -->|"navigates to"| node_find_help
node_home -->|"navigates to"| node_volunteer
node_home -->|"navigates to"| node_map_screen
node_volunteer -->|"requests coordinates"| node_location
node_map_screen -->|"requests coordinates"| node_location
node_volunteer -->|"posts volunteer; fetches requests"| node_backend
node_backend -->|"returns requests"| node_volunteer
node_volunteer -->|"schedules alert"| node_notifications
node_map_screen -->|"fetches help and volunteers"| node_backend
node_backend -->|"returns locations"| node_map_screen
node_map_screen -->|"renders markers and regions"| node_map_view

click node_home "https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/index.tsx"
click node_layout "https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/_layout.tsx"
click node_find_help "https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/FindHelpScreen.tsx"
click node_volunteer "https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/VolunteerScreen.tsx"
click node_map_screen "https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/ViewMapScreen.tsx"

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_home,node_layout,node_user toneBlue
class node_find_help,node_volunteer,node_location,node_backend,node_notifications toneAmber
class node_map_screen,node_map_view toneMint
```

## Components

### App navigation

- [Home screen](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/index.tsx): `cuhackit/app/index.tsx`
- [App layout](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/_layout.tsx): `cuhackit/app/_layout.tsx`

### Help coordination

- [Find help](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/FindHelpScreen.tsx): `cuhackit/app/screens/FindHelpScreen.tsx`
- [Volunteer signup](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/VolunteerScreen.tsx): `cuhackit/app/screens/VolunteerScreen.tsx`
- **Device location**
- **GoHelpMe API**
- **Local notifications**

### Map and display

- [View map](https://github.com/hersh3y/gohelpme/blob/main/cuhackit/app/screens/ViewMapScreen.tsx): `cuhackit/app/screens/ViewMapScreen.tsx`
- **Native map display**

### Other components

- **App user**

## Connections

- App user → Home screen: opens app
- Home screen → Find help: navigates to
- Home screen → Volunteer signup: navigates to
- Home screen → View map: navigates to
- Volunteer signup → Device location: requests coordinates
- View map → Device location: requests coordinates
- Volunteer signup → GoHelpMe API: posts volunteer; fetches requests
- GoHelpMe API → Volunteer signup: returns requests
- Volunteer signup → Local notifications: schedules alert
- View map → GoHelpMe API: fetches help and volunteers
- GoHelpMe API → View map: returns locations
- View map → Native map display: renders markers and regions
