-
Notifications
You must be signed in to change notification settings - Fork 0
VegBank Storage Service & API
The goal of the VegBank storage layer is provide a standalone service that interfaces with the VegBank data store and allows data to be accessed by both the official VegBank web application and the VegBank R package (vegbankr
), along with other client interfaces such as curl
and python
. Unlike the original VegBank system, which bundled the backend database and frontend website as a monolithic application, the redesigned system creates a much leaner and more maintainable backend storage layer that can be flexibly accessed by different frontend interfaces designed for different audiences, including new client libraries that may be developed in the future.
The storage layer includes the following components
- A PostgreSQL database that confirms to the current VegBank data model, and houses all VegBank data
- A REST API that provides a service access layer for downloading and uploading all data within the system
To the extent possible, this API should be compatible with the DataONE REST API, enabling VegBank to become a member of the larger DataONE federation of data repositories.
API actions (rough Epics):
- Ability to download Plot Observations
- Ability to download other resources
- Ability to (bulk) add new Plot Observations
- Ability to (bulk) add new Taxon Observations
- Ability to (bulk) add new Taxon Interpretations
- Ability to (bulk) add new Community Classifications
- Ability to (bulk) add new Community Interpretations
- Ability to (bulk) add new Plant Concepts
- Ability to (bulk) add new Community Concepts
- ...
API features (rough Epics):
- Authentication support
- DataONE compatibility
- Support for asynchronous downloads?
- ...
Engineering tasks:
- Build system (maven)
- Testing suite/CI
- Build and deployment automation
- Production deployment
- ...