Skip to content

FireData Connecting R to Google Firebase

Robin Kohze edited this page Feb 11, 2017 · 33 revisions
Background

Persistent Data Storage and transfer with R can be complicated and time consuming. While there are great packages to connect R to DBs like mySQL/sqlLite/postgreSQL those databases itself need to be hosted and maintained. To implement a DB based login system in Shiny now probably takes 2 weeks of work to get it done in a secure way, and a IoT project for data collection requires a 24/7 running server.

The Google team took that common problem (not only of R) and created Firebase. Firebase is a online database that is not only intuitive to integrate into Apps & Web applications, but can also be used to build user registration/login systems with persistent data storage (thinking about shiny) or to transfer data between IoT devices via Firebase directly to a R environment. Writing a intuitive R to Firebase connector enables R to be used in new "cross platform" realtime applications. Thats why we strongly believe the "FireData" package will improve the R open source environment.

Related work

The R universe offers with the httr package to apply PUT/POST commands to servers (including Firebase). In combination with a JSON library like jsonlite it is possible to send & retrieve data from Firebase.

Google Firebase on the contrary is more sophisticated than simple PUT/POST requests and allows JWT tokenizations, registrations & logins and even file uploads. Firebase brings all functionality and ease to be the to-go Database for R IoT or Shiny related projects.

Details of your coding project

With the experience of GSOC 2016 we will start with a larger team (other open source developers signaled they would help to improve their own DB experience) to get the FireData package CRAN ready before the September deadline.

  • Now - April : Adding prove of concepts of the Firebase integration into Shiny and IoT applications.
  • April - June : Writing and implementing the various firebase connecting functions
  • June - July : Adding the functions to the FireData package & writing Vignettes/Documentation
  • July - August : Finishing FireData and getting it CRAN ready.
Expected impact

R is one of the strongest players in data science. The aim is to connect its strength in data analysis with the actual data. By making it easier to directly connect R to the inputs of IoT devices or other applications such as websites/shiny it will open new possibilities for open source developers around the world.

The final product, the FireData package, will connect two great environments with each other. When we succeed to make it stable & intuitive alot of projects will be build ontop of it.

Proof of concept:

(the R server side Firebase proof will be added soon)

Mentors

Samuel Schmidt, Post-Doc. (has GSOC Mentor experience). | schmidt@glycosearch.com

Clone this wiki locally