{"id":19292119,"url":"https://github.com/nasa-pds/archive-viewer","last_synced_at":"2026-06-22T07:31:17.391Z","repository":{"id":43857750,"uuid":"190789452","full_name":"NASA-PDS/archive-viewer","owner":"NASA-PDS","description":"Frontend React app for searching and viewing archived datasets","archived":false,"fork":false,"pushed_at":"2026-06-09T21:09:51.000Z","size":3733,"stargazers_count":0,"open_issues_count":14,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-06-09T21:11:23.570Z","etag":null,"topics":["archive","big-data","nasa-pds","pds"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NASA-PDS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-06-07T18:16:42.000Z","updated_at":"2026-06-09T21:10:13.000Z","dependencies_parsed_at":"2024-04-30T18:45:35.014Z","dependency_job_id":"57ad1e45-24f7-4d83-9f68-207fc8c23e6f","html_url":"https://github.com/NASA-PDS/archive-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/NASA-PDS/archive-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Farchive-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Farchive-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Farchive-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Farchive-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NASA-PDS","download_url":"https://codeload.github.com/NASA-PDS/archive-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NASA-PDS%2Farchive-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34639704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","big-data","nasa-pds","pds"],"created_at":"2024-11-09T22:29:13.224Z","updated_at":"2026-06-22T07:31:17.387Z","avatar_url":"https://github.com/NASA-PDS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Archive Navigator\n\nThe Archive Navigator (formerly known as Context Browser/Archive Viewer) is a front-end web application for displaying certain context objects and datasets in the PDS Archive. It interfaces with multiple instances of the PDS Registry to pull in core and supplemental metadata for user-friendly display. The back-end content management system for Archive Navigator can be found here: [https://github.com/sbn-psi/archive-loader](https://github.com/sbn-psi/archive-loader)\n\n## Primary Technologies\n\nArchive Navigator is a javascript application built in [React](http://reactjs.org). It uses [NextJS](http://nextjs.org) as a backend for server-side rendering, caching of certain requests to the registries, and a proxy to route requests from the front-end to various registries. The interface is primarily implemented using [MaterialUI](https://material-ui.com/) components, including the theme services to handle light/dark mode. Additional styling is handled in each component file with either [Material's styling library](https://material-ui.com/styles/basics/) or [Styled JSX inside Next](https://nextjs.org/blog/styling-next-with-styled-jsx).\n\n## Environment setup\n\nThis application interfaces directly with interfaces of the PDS Registry running on Solr. It expects a certain collection structure, but it can stitch together metadata from multiple instances of the registry: One with all context objects and datasets ingested at a high level, and another that is managed by [Archive Loader](https://github.com/sbn-psi/archive-loader) for providing supplemental metadata not found in the core registry.\n\n### .env\n\nThe locations of these registries are set in environment variables. The defaults are set in `.env`, but you can override these values for testing, or to work around CORS issues (see below) by creating an adjacent file named **`.env.development.local`** and setting your own endpoints.\n\nUse `SUPPLEMENTAL_SOLR` as the single source of truth for the Solr base URL. Server-side code reads that value at runtime and the browser talks to Solr through this app's `/api/proxy/*` routes rather than calling Solr directly.\n\n## Build and Deploy\n\nDocker builds pass `SUPPLEMENTAL_SOLR`, `SOLR_USER`, and `SOLR_PASS` as BuildKit secrets so Next.js can statically generate and prefetch pages during `npm run build` without recording them as image or registry build args. Those values are not set as defaults in the final runtime image; deployment must provide the Solr endpoint and credentials when the container starts.\n\nUse `./docker-push.sh --no-cache` when you need to force a fresh static generation run, such as after changing the build-time Solr index. Combine it with `--build-only` to rebuild locally without pushing.\n\nIn the project directory, you can run:\n\n### `npm run dev`\n\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr\u003e\nYou will also see any lint errors in the console.\n\n### `npm run build`\n\nCompiles the application for use by NextJS, optimized for production.\n\n### `npm run start`\n\nRuns the compiled production-ready application on port 3000.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Farchive-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnasa-pds%2Farchive-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnasa-pds%2Farchive-viewer/lists"}