# jaykapoor7/pok-mon-go-dog- architecture

> Architecture diagram of the GitHub repository jaykapoor7/pok-mon-go-dog-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jaykapoor7/pok-mon-go-dog-
- Repository: https://github.com/jaykapoor7/pok-mon-go-dog-

## Overview

StrayPaw is a browser-based community animal-record and welfare-operations platform. People discover animals on the map and submit sightings; NGOs and municipalities work shared animal and case records, care programs, imports, surveys, and reporting. The graph highlights the report-to-record path and the spatial rollup layer that bounds public map data. README documentation supports the overall architecture and major capabilities; unsampled route-to-client wiring is not asserted.

Main entry points: [`src/app/partner/page.tsx`](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/partner/page.tsx) (Partner console), [`src/lib/supabase.ts`](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/supabase.ts) (Supabase database), [`src/app/api/report/route.ts`](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/api/report/route.ts) (Report endpoint), [`src/lib/spatial/server.ts`](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/server.ts) (Spatial services)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_community["Community product"]
  node_map["Animal map<br/>[page.tsx]"]
  node_report["Sighting report<br/>[page.tsx]"]
  node_reporting["Report endpoint<br/>[route.ts]"]
  node_communityrecords["Animal records<br/>[data.ts]"]
end

subgraph group_operations["Welfare operations"]
  node_partner["Partner console<br/>[page.tsx]"]
  node_cases["Case management<br/>[cases.ts]"]
  node_care["Care programs<br/>[feeding-actions.ts]"]
  node_surveys["Field surveys<br/>[surveys.ts]"]
  node_imports["Data imports<br/>[pipeline.ts]"]
  node_enrichment["Import enrichment<br/>[enrichment.ts]"]
  node_partnerapi["Partner API<br/>[route.ts]"]
end

subgraph group_spatial["Spatial intelligence"]
  node_insights["Public datasets<br/>[datasets.ts]"]
  node_spatialapi["Spatial services<br/>[server.ts]"]
  node_spatialbuild["Spatial rollups<br/>[build.ts]"]
  node_spatialengine["Spatial engine<br/>[engine.ts]"]
end

subgraph group_platform["Application platform"]
  node_browser["Browser app<br/>[layout.tsx]"]
  node_supabase[("Supabase database<br/>[supabase.ts]")]
  node_auth["Identity and roles<br/>[AuthProvider.tsx]"]
end

node_people(("Public visitors"))

node_people -->|"uses"| node_browser
node_browser -->|"requests data"| node_supabase
node_people -->|"explores"| node_map
node_people -->|"submits sighting"| node_report
node_report -.->|"posts report"| node_reporting
node_reporting -->|"records sighting"| node_supabase
node_reporting -->|"notifies"| node_people
node_browser -->|"loads records"| node_communityrecords
node_people -->|"operates programs"| node_partner
node_partner -.->|"manages cases"| node_cases
node_partner -.->|"records care"| node_care
node_partner -.->|"collects surveys"| node_surveys
node_partner -.->|"imports data"| node_partnerapi
node_partnerapi -->|"persists imports"| node_supabase
node_imports -.->|"enriches records"| node_enrichment
node_people -->|"views outcomes"| node_insights
node_map -.->|"requests map data"| node_spatialapi
node_spatialapi -->|"builds rollups"| node_spatialbuild
node_spatialbuild -->|"computes measures"| node_spatialengine
node_spatialapi -->|"reads spatial data"| node_supabase
node_auth -->|"authenticates"| node_supabase

click node_browser "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/layout.tsx"
click node_map "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/map/page.tsx"
click node_report "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/report/page.tsx"
click node_reporting "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/api/report/route.ts"
click node_communityrecords "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/data.ts"
click node_partner "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/partner/page.tsx"
click node_cases "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/cases.ts"
click node_care "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/feeding-actions.ts"
click node_surveys "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/surveys.ts"
click node_imports "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/master-import/pipeline.ts"
click node_enrichment "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/master-import/enrichment.ts"
click node_partnerapi "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/api/partner/import/route.ts"
click node_insights "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/platform/datasets.ts"
click node_spatialapi "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/server.ts"
click node_spatialbuild "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/build.ts"
click node_spatialengine "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/engine.ts"
click node_supabase "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/supabase.ts"
click node_auth "https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/components/auth/AuthProvider.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_map,node_report,node_reporting,node_communityrecords toneBlue
class node_partner,node_cases,node_care,node_surveys,node_imports,node_enrichment,node_partnerapi toneAmber
class node_insights,node_spatialapi,node_spatialbuild,node_spatialengine toneMint
class node_browser,node_supabase,node_auth toneRose
class node_people toneIndigo
```

## Components

### Community product

- [Animal map](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/map/page.tsx): `src/app/map/page.tsx`
- [Sighting report](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/report/page.tsx): `src/app/report/page.tsx`
- [Report endpoint](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/api/report/route.ts): `src/app/api/report/route.ts`
- [Animal records](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/data.ts): `src/lib/data.ts`

### Welfare operations

- [Partner console](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/partner/page.tsx): `src/app/partner/page.tsx`
- [Case management](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/cases.ts): `src/lib/cases.ts`
- [Care programs](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/feeding-actions.ts): `src/lib/feeding-actions.ts`
- [Field surveys](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/surveys.ts): `src/lib/surveys.ts`
- [Data imports](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/master-import/pipeline.ts): `src/lib/master-import/pipeline.ts`
- [Import enrichment](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/master-import/enrichment.ts): `src/lib/master-import/enrichment.ts`
- [Partner API](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/api/partner/import/route.ts): `src/app/api/partner/import/route.ts`

### Spatial intelligence

- [Public datasets](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/platform/datasets.ts): `src/lib/platform/datasets.ts`
- [Spatial services](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/server.ts): `src/lib/spatial/server.ts`
- [Spatial rollups](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/build.ts): `src/lib/spatial/build.ts`
- [Spatial engine](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/spatial/engine.ts): `src/lib/spatial/engine.ts`

### Application platform

- [Browser app](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/app/layout.tsx): `src/app/layout.tsx`
- [Supabase database](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/lib/supabase.ts): `src/lib/supabase.ts`
- [Identity and roles](https://github.com/jaykapoor7/pok-mon-go-dog-/blob/main/src/components/auth/AuthProvider.tsx): `src/components/auth/AuthProvider.tsx`

### Other components

- **Public visitors**

## Connections

- Public visitors → Browser app: uses (evidence: `README.md`)
- Browser app → Supabase database: requests data (evidence: `README.md`)
- Public visitors → Animal map: explores (evidence: `README.md`)
- Public visitors → Sighting report: submits sighting (evidence: `README.md`)
- Sighting report → Report endpoint: posts report
- Report endpoint → Supabase database: records sighting (evidence: `src/app/api/report/route.ts`)
- Report endpoint → Public visitors: notifies (evidence: `src/app/api/report/route.ts`)
- Browser app → Animal records: loads records
- Public visitors → Partner console: operates programs (evidence: `README.md`)
- Partner console → Case management: manages cases
- Partner console → Care programs: records care
- Partner console → Field surveys: collects surveys
- Partner console → Partner API: imports data
- Partner API → Supabase database: persists imports (evidence: `src/app/api/partner/import/route.ts`)
- Data imports → Import enrichment: enriches records
- Public visitors → Public datasets: views outcomes (evidence: `README.md`)
- Animal map → Spatial services: requests map data
- Spatial services → Spatial rollups: builds rollups (evidence: `src/lib/spatial/server.ts`)
- Spatial rollups → Spatial engine: computes measures (evidence: `src/lib/spatial/engine.ts`)
- Spatial services → Supabase database: reads spatial data (evidence: `src/lib/spatial/server.ts`)
- Identity and roles → Supabase database: authenticates (evidence: `src/components/auth/AuthProvider.tsx`)
