The 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
Archive Navigator is a javascript application built in React. It uses NextJS 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 components, including the theme services to handle light/dark mode. Additional styling is handled in each component file with either Material's styling library or Styled JSX inside Next.
This 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 for providing supplemental metadata not found in the core registry.
The 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.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Compiles the application for use by NextJS, optimized for production.
Runs the compiled production-ready application on port 3000.