This repository is intended to act as the core repository for the Paleobiology Database "Upload" API version 1.0 and greater. The development (closed beta) version of the API can be found on the University of Arizona test server. The staging version (open beta) of the API can be found on the University of Wisconsin's development server. There is no production version of the API at this time.
This API is currently in the Alpha phase of development and is not open for community development. A release candidate is expected to be published April 1, 2025. Once published, ownership of this repository will transfer into the stewardship of the Paleobiology Database organization and the API codebase will made open for community contribution. All contributors are expected to follow the code of conduct. Contributors should fork this project and make a pull request indicating the nature of the changes and the intended utility. Further information for this workflow can be found on the GitHub Pull Request Tutorial webpage.
This codebase is generated using node.js
. It was further boot-strapped with the Fastify-CLI
framework, a JSON schema-based approach to API construction. The API attempts follow REST principles wherever possible, but certain compromises have been made to maintain a similar user-experience with the preceding CGI-RPC-like system.
To start the server locally you must first download and install the dockerized version of the Paleobiology Database systems. This includes the following elements of the overall Paleobiology Database System: Wing: a user-management system, navigator: a map-based browser, data_service: a data download only API, pbdb_main: code for the landing portal, Classic: the core application codebase, and the MariaDB database. While public GitHub repositories exist for most of these elements (excepting the MariaDB database), it is recommended to instead request access to a combined, dockerized installation from [email protected].
Once you have installed a local copy of the other PBDB elements, you can clone this repository. Once the repository is cloned you must use the npm
package installer to download the required packages. The required packages are listed in package.json
. You can use the command npm install
to install the packages locally.
Once the directory is set up and the packages have been installed, you must config for your environment. There is a file called env_template in the root dir that contains all the parameters you need to set. Copy that file to a file called .env and set them there.
Once configured, use npm start
to start the server locally. This will create a local server, serving data from the server:port specified in the .env file.