A React application for searching multiple STAC APIs simultaneously. Built with the STAC FastAPI Collection Discovery API, this tool performs federated collection searches across multiple STAC API endpoints at once.
- Simultaneous multi-API search across configured STAC endpoints
- Interactive collection details with spatial and temporal context
- Client-generated code hints for item search workflows
- API health diagnostics and capability detection
- Configurable per-API filtering for deployment-specific behavior
- Responsive interface with sorting, filtering, and pagination
- Node 24.15.0
- Yarn 1
The repo standardizes on the Node version declared in .nvmrc.
If you use nvm, run:
nvm useyarn installVITE_API_URL=https://discover-api.dit.maap-project.org yarn devThen open http://localhost:3000.
Run the same checks used in CI:
yarn format:check
yarn typecheck
yarn test:run
yarn buildRun tests in watch mode during development:
yarn testRun the full test suite once:
yarn test:runYou can also run the app in a docker network
docker compose up --buildThe app will be available at http://localhost:3000.
To point Docker development at a different backend:
VITE_API_URL=https://your-api.example.com docker compose up --buildStop the stack with:
docker compose downVITE_API_URL: URL for the STAC FastAPI Collection Discovery API
Use the Settings button in the API Configuration panel to:
- Add or remove STAC API endpoints
- Review health status and diagnostics
- Inspect supported capabilities such as collection search and free-text search
- Reset to the default API list from
src/config.ts
The default STAC APIs are configured in src/config.ts via
DEFAULT_API_CONFIGURATIONS.
Releases are managed by Release Please.
On pushes to main, GitHub Actions updates or opens a release PR based on
conventional commits.
Merging that release PR updates CHANGELOG.md, tags the release, and creates
its GitHub Release.
Local commits are checked with Commitlint. Use Conventional Commits such as:
feat(search): add API health badgesfix(ci): read node version from .nvmrcdocs(readme): clarify local API configuration
PR titles must also follow Conventional Commits because squash merges turn the PR title into the final commit message that Release Please reads.
Historical releases used bare tags like 2.2.0.
New automated releases use v-prefixed tags such as v2.2.1.
Check these first:
- The merged commits on
mainuse conventional commit types. - The
Release Pleaseworkflow ran successfully. - There is not already an open release PR waiting to be merged.
- The release baseline files (
package.json,CHANGELOG.md, and.release-please-manifest.json) still agree.
- Open the Settings panel.
- Add, remove, or enable the STAC APIs you want to search.
- Review diagnostics if an endpoint is degraded or unsupported.
- Enter a bounding box, date range, or free-text query.
- Review aggregated results from the configured APIs.
- Open Details for metadata, links, spatial coverage, and generated code hints.
- Use Load More when additional results are available.
- Results are appended without clearing the current list.