R API for the SeroViz app. Based on the porcelain and plumber frameworks.
Docs are available when running the API locally on port 8888, via
http://127.0.0.1:8888/__docs__/
The easiest way to run the API locally is via Docker:
docker run -p 8888:8888 seroanalytics/serovizr:main
Alternatively, to run from R, first clone this repo and then from this directory run:
devtools::load_all()
serovizr:::main()
The docs are maintained via an openapi specification
contained in inst/spec.yaml
, and JSON Schema files in inst/schema
.
Install dependencies with:
remotes::install_deps(".", dependencies = TRUE)
Start the API locally by running:
devtools::load_all()
serovizr:::main()
Run tests with:
devtools::test()
To build a Docker image:
./docker/build
To push to Dockerhub:
./docker/push
To run a built image:
docker run -p 8888:8888 seroanalytics/serovizr:<branch-name>
These steps are run on CI.
For a complete list of available tags, see Dockerhub: https://hub.docker.com/repository/docker/seroanalytics/serovizr/tags
The API is deployed along with the SeroViz app itself; see: https://github.com/seroanalytics/seroviz?tab=readme-ov-file#deployment