Skip to content

Repository files navigation

Albany Rural Cemetery — Grave Finder

An interactive map, burial locator, and tour guide for Albany Rural Cemetery.

Open the application · Search burial records · Explore the cemetery map

About the project

Visitors can search a 97,457-record burial index, locate graves on an interactive map, and explore the cemetery through tours.

Destination What visitors can do
Search Tours Find and open a curated tour.
Cemetery Map Explore cemetery roads, sections, tour stops, and selected graves.
Burial Locator Search burial records and open their mapped locations.

Development overview

FAB is the shared Albany Grave Finder web app. It owns the map, data delivery, and deep-link contract. FABFG is a thin native shell around those hosted destinations; it must not recreate the web app’s map or search state.

Stack

  • React 19
  • Vite 8
  • MapLibre GL JS 6
  • plain semantic HTML and CSS
  • a Web Worker for the 97,457-record burial index
  • Bun tests, Vitest/jsdom component tests, and Playwright browser tests

There is one map renderer and one burial source path. The checked-in src/data/Geo_Burials.json is the source of truth; public/data/Search_Burials.json is its generated runtime delivery artifact. Map overlays use the checked-in boundary, roads, and sections GeoJSON directly.

Quickstart

Requirements:

bun install
bun run doctor
bun run start

Vite serves the app at http://localhost:5173/fab/. No Python image server or geospatial Python environment is required.

Commands

  • bun run start: run the Vite development server
  • bun run lint: run ESLint, Oxlint complexity checks, and project-specific lint rules
  • bun run test: run Bun unit/data tests and Vitest component tests
  • bun run test:e2e: run the Playwright product flows
  • bun run build: generate tour aliases and build dist/
  • bun run build:data: regenerate tour matches, the compact burial index, and map bounds
  • bun run check: run the local release-quality gate
  • bun run release:check: verify SemVer and changelog metadata

Product routes and FABFG

The query string is the route contract:

Destination view value Purpose
Search Tours tours Find and open a curated tour
Cemetery Map map View the cemetery, tour stops, sections, and pinned graves
Burial Locator burials Search the generated burial index

Additional parameters are q, section, tour, and record. Old packed share links remain readable, but new links use the smaller record contract.

Load the same hosted app in FABFG with embed=fabfg. The native shell owns the tabs, and the web app does not draw a duplicate navigation bar:

  • ?view=tours&embed=fabfg
  • ?view=map&embed=fabfg
  • ?view=burials&embed=fabfg

Use Search Tours, Cemetery Map, and Burial Locator for the native tab labels. Keep the ARCE website as a separate external action.

Cartography

The map uses provider tiles instead of repository-built orthophoto exports:

  • one muted OpenStreetMap reference map over Esri World Hillshade
  • road names and Notables Tour landmarks drawn above the basemap in local fonts
  • local cemetery boundary and roads above the terrain context
  • section boundaries and numbers on request, with section taps always available

Provider attribution stays visible. The design follows figure-ground and visual hierarchy guidance: the basemap recedes, cemetery structure reads next, and the active burial or tour stop is dominant. See docs/cartography.md.

Data

Source-of-truth files:

Generated files:

Run bun run build:data after source-data changes. Do not hand-edit generated files.

The old local ortho exports, GeoParquet copy, and PMTiles experiment are retired. They have been removed from the repository and are not part of the runtime.

Deployment

main is the only long-lived branch. CI installs with the frozen Bun lockfile, runs lint/tests/build/browser checks, uploads dist/, and deploys GitHub Pages. The app is served under /fab, so use import.meta.env.BASE_URL for public assets.

GitHub Pages is repository-controlled. Promotion to albany.edu/arce remains a separate institutional operation. A green repository build does not prove that host or the installed iPhone wrapper has been updated.

Architecture

Start with:

About

Albany Rural Cemetery Grave Finder: an interactive cemetery map, burial search, and curated tours.

Topics

Resources

Contributing

Stars

2 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages