Mario

A REST API for serving data from an R backend.

Project preview

What it is:

  • A REST API built using Plumber in R
  • Allows for the full statistical power of R to be used with any platform
  • Backend service used to process data for any of my work
    • Can push static data to an S3 bucket which is then fetched by frontend app
    • Can recieve requests from frontend app and return results more interactively

What I did:

  • Built a mounted router to split the API into multiple files that serve as endpoints
  • Converted existing analyses to APIs using Plumber's syntax
  • Set up an S3 bucket to host data written out from the API
  • Dockerized the API so it can be hosted on any cloud platform
  • Hosted the Docker container on Heroku
  • Set up a CI/CD pipeline through Travis so changes are re-deployed automatically

What I learned:

  • Backend Webdev
    • API design
    • Plumber
    • OpenAPI/Swagger
  • Cloud Data Storage
    • AWS S3

Why it interests me:

  • I find myself pulled between the interactivity of the web and the analytical capabilities of R
  • Plumber is a crucial part of R's integration with the modern web
  • Exploring the boundaries of both webdev and data science requires platform-agnostic tools