Skip to content

FlalaGoGoGo/pink-hunter

Repository files navigation

Pink Hunter

Mobile-first pink blossom tree map for Cherry / Plum / Peach / Magnolia / Crabapple.

Live domain:

Highlights

  • Official-jurisdiction-boundary coverage only.
  • Mobile-first map UI with desktop split layout.
  • Five blossom groups: cherry, plum, peach, magnolia, crabapple.
  • Multilingual UI: en-US, zh-CN, zh-TW, es-ES, ko-KR, ja-JP, fr-FR, vi-VN.
  • Covered areas and gray researched areas are both shown on the map.

Hard Repo Rule

  • Every accepted local change must also be synchronized into /Users/zhangziling/Documents/Project-Pink-Hunter/GitHub/pink-hunter.
  • After sync, the GitHub export repo must be committed and pushed to FlalaGoGoGo/pink-hunter.
  • Policy doc: docs/ops/github-sync-policy.md
  • Preferred helper: ./scripts/sync_github_export.sh "Commit message"
  • Preferred command wrapper: ./scripts/ops_runner.sh sync-release "Commit message"
  • Published region data must pass ./scripts/check_region_data_sizes.py --data-dir public/data before sync/push.

Coverage Areas

Washington
  • Seattle
  • Bellevue
  • Redmond
  • Renton
  • Kenmore
  • SeaTac
  • Sammamish
  • Shoreline
  • Snohomish
  • Everett
  • Kirkland
  • Bellingham
  • Spokane
  • Yakima
  • Walla Walla
  • Puyallup
  • Gig Harbor
New York
  • New York City
Connecticut
  • Greenwich
  • Groton
  • Hartford
  • New Haven
  • Stamford
  • West Hartford
Virginia
  • Arlington
  • Fairfax
  • Falls Church
  • Richmond
  • Virginia Beach
Maryland
  • Baltimore
New Jersey
  • Dumont
  • Ho-Ho-Kus
  • Hoboken
  • Jersey City
  • Millburn
  • Montclair
  • Morristown
  • Newark
  • Oradell
  • Princeton
  • River Edge
  • Rutherford
  • Westwood
Pennsylvania
  • Philadelphia
  • Pittsburgh
Massachusetts
  • Belmont
  • Boston
  • Cambridge
  • Dedham
  • Newton
  • Somerville
  • Springfield
  • Waltham
  • Worcester
Texas
  • Austin
  • Dallas
  • Houston
Colorado
  • Denver
Nevada
  • Las Vegas
Utah
  • Salt Lake City
Ontario
  • Ottawa
  • Toronto
Quebec
  • Montreal
Oregon
  • Portland
California
  • Anaheim
  • Azusa
  • Bell
  • Berkeley
  • Beverly Hills
  • Buena Park
  • Burbank
  • Burlingame
  • Camarillo
  • Chino
  • Citrus Heights
  • Concord
  • Corona
  • Costa Mesa
  • Cudahy
  • Cupertino
  • Dana Point
  • El Segundo
  • Encinitas
  • Escondido
  • Fontana
  • Fremont
  • Fullerton
  • Gilroy
  • Glendale
  • Glendora
  • Goleta
  • Inglewood
  • Irvine
  • La Canada Flintridge
  • La Mesa
  • La Mirada
  • La Verne
  • Laguna Beach
  • Lodi
  • Los Angeles
  • Los Gatos
  • Maywood
  • Milpitas
  • Monterey Park
  • Morgan Hill
  • Mountain View
  • Newport Beach
  • Norwalk
  • Oakland
  • Oxnard
  • Palo Alto
  • Pasadena
  • Pleasanton
  • Pomona
  • Poway
  • Rancho Cucamonga
  • Rancho Palos Verdes
  • Redlands
  • Redondo Beach
  • Riverside
  • Sacramento
  • Salinas
  • San Diego
  • San Dimas
  • San Fernando
  • San Francisco
  • San Jose
  • San Mateo
  • San Rafael
  • Santa Barbara
  • Santa Clarita
  • Santa Fe Springs
  • Santa Monica
  • Santee
  • Saratoga
  • Solana Beach
  • South Gate
  • South San Francisco
  • Sunnyvale
  • Thousand Oaks
  • Torrance
  • Ventura
  • Vista
  • West Covina
  • West Hollywood
  • West Sacramento
  • Yorba Linda
Washington, DC
  • Washington DC
British Columbia
  • New Westminster
  • Vancouver BC
  • Victoria BC

Gray Coverage

  • Gray coverage marks cities whose official boundary is public but whose official public single-tree dataset is not available yet.
  • Current gray-coverage examples include Alexandria, Montgomery County, Newark, Santa Clara, Monterey, Napa, Richmond (CA), Santa Cruz, Santa Rosa, Stockton, Redwood City, Alameda, Hayward, Daly City, Long Beach, Santa Ana, Beaverton, Gresham, Hillsboro, Salem, Tigard, Burnaby, Coquitlam, Delta, Langley City, North Vancouver City, North Vancouver District, Richmond BC, Saanich, Surrey, West Vancouver, and White Rock.
  • Tracking details: docs/research/city-coverage-tracker.md

Official Data Sources

Washington
New York
Connecticut
Virginia
Maryland
New Jersey
Pennsylvania
Massachusetts
Texas
Colorado
Nevada
Utah
Ontario
Quebec
Oregon
California
Washington, DC
British Columbia
Supplemental

Local Development

  1. Install dependencies
    • npm install
  2. Install ETL dependencies
    • python3 -m pip install -r requirements.txt
  3. Build data
    • npm run etl
  4. Run the app
    • npm run dev
  5. Build for production
    • npm run build

Data Outputs

Published

  • public/data/trees.<region>.area-index.v2.json
  • public/data/trees.<region>.area.<slug>.v2.geojson
  • public/data/trees.<region>.area.<slug>.shard-###.v2.geojson (for larger areas)
  • public/data/coverage.v1.geojson
  • public/data/species-guide.v1.json
  • public/data/jump-index.v1.json
  • public/data/meta.v2.json
  • public/data/unknown_scientific_names.v1.json

Local ETL Audit

  • data/normalized/trees_normalized.csv

Region Publishing

  • Tree points are now published by area + shard for every region, not as region-wide GeoJSON files.
  • Current regional groups:
    • WA
    • CA
    • OR
    • DC
    • BC
    • VA
    • MD
    • NJ
    • NY
    • PA
    • MA
  • Local-only ETL audit outputs such as data/normalized/trees_normalized.csv and data/tmp/* are not part of the GitHub export repo.
  • public/data/meta.v2.json contains the region index, region bounds, species-count summaries, aggregate size metadata, and area-shard publish metadata for the full site, each region, and each published area.
  • public/data/jump-index.v1.json provides lightweight country -> state/province -> city/county navigation bounds for the Show -> Jump workflow without coupling navigation to tree payload loading.
  • All published tree-point files now follow the same area-shard contract:
    • public/data/trees.<region>.area-index.v2.json
    • public/data/trees.<region>.area.<slug>.v2.geojson
    • public/data/trees.<region>.area.<slug>.shard-###.v2.geojson
  • If a full ETL run is blocked but current published region files are still available locally, refresh area-shard outputs with:
    • python3 scripts/refresh_region_area_shards.py --data-dir public/data --region all
  • If coverage or gray-coverage rules changed without rebuilding all tree data, refresh coverage and bounds with:
    • python3 scripts/refresh_coverage_metadata.py --data-dir public/data
  • Publish safety thresholds for each shard:
    • target_split: >= 20 MiB raw
    • must_split: >= 25 MiB raw
    • hard_fail: >= 30 MiB raw
  • Region aggregate size is still tracked, but only as advisory scale metadata and not as a GitHub single-file risk.

Docs

About

Mobile-first blooming tree map for cherry, plum, peach, magnolia, and crabapple.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors