-
Notifications
You must be signed in to change notification settings - Fork 13
Firedata Web Platform integrations
Package Repo: https://github.com/Kohze/fireData
Data science does not exist in isolation, but in a rich environment of shared datasets and user projects. While R already offers ways to easily prototype web applications with the Shiny framework, it is highly demanding to connect them to dynamic databases that allow user specific settings or datasets.
Firedata in connection to Google Firebase solves the bottleneck of user specific access and data sharing, but also opens a new perspective in the application development to use R to interactively modify real time platforms databases. Firebase is a quickly developing framework that offers new API routines and mechanisms to improve the user experience. It is now our challenge to reach a critical mass of open source developers to make Firedata a long term sustainable part of the R package environment.
While FireData enabled a first set of login functionalities, it still challenging to create a fully secure and functional login experience within Shiny applications. RStudio offers via their Shiny Server Pro login functionalities and user management, but due to pricing and limited functionality it only an option for a small subset of users.
Currently the only viable way to launch online R applications via a simple function is Shinyapps IO and Shiny Server. We think that the Firebase Hosting functionality offers a highly functional API interface to create a similar deployment experience with increased performance.
The main focus of our advanced platform integrations is the integration of a variety of user logins which range from anonymous logins, email logins to social logins. The challenge is to provide functions and widgets that make the integration both intuitive as well as secure. In terms of openCPU, Firedata will allow to use the tokens used on native web platforms and pass to it to R instances and user specific database entries (oAuth based). In addition to user logins, we want to simplify the process of session storing with to session agnostic functions that store the current instance state.
The second challenge is the integration of openCPU and Shiny into Firebase Hosting via R function calls that create the necessary wrapper code and deploy it. Since each Firedata user has already a set of API keys, the integration of Firebase Hosting as free alternative to Amazon EC2 and the enhanced ease of use should enable a wider adoption in the community.
Data science is at the core the process towards a fully connected world. R should not stop at reading and analysing web data, but rather be involved at the core of platform databases. With Firedata it is not only possible to create web databases, but also actively modify entries in real time based on the rich prediction pipelines R can offer.
By fully connecting Firedata with Shiny and openCPU the R community will not only be able to create dependent databases for a variety of platforms, but also start call requests for updates of those datasets. Exemplary of such a use case would be a javaScript & Firebase based platform where a user might want to re-generate a t-SNE plot with different hyper parameters. With the integration of Firebase Authentications and Hosting, we would be able to quickly integrate those functionalities in a intuitive way.
The student applicants must be familiar or familiarize themselves with the working of
- REST APIs
- JSON
- JavaScript
- oAuth
- unit testing
- roxygen/devtools R package development
- Robin Kohze [email protected] is author and maintainer of the Firedata package and was a GSOC student with the R organization 2016 and 2017. He is also part of the https://r-codes.com/ open source project sharing platform.
- Samuel Schmidt [email protected] is a biochemist and statistician at Cornell University. He was a GSoC mentor with the R organization in 2016 and 2017.
- Laurent Gatto [email protected] is a data scientist and leading the Computational Preoteomics Unit at Cambridge University. He was a GSoC mentor with the R organization for the mzR bioconductor package.
- Bert Jehoul [email protected] works at the open knowledge organisation in Belgium and is interested in a wider adaption of the R fireData package and the integration of into openCPU web applications.
-
Easy: Follow the github instructions and use the download example to get the mtcars dataset.
-
Medium: Setup your own firebase cloud, create your own user account via firedata and upload/download a sample dataset.
-
Hard: Add examples of the package use to the Rd files in the following format
examples{
#examples (executed in < 5 sec; for checks)
donttest{ further examples for users (not used for checks) }
dontrun{ # only if really needed examples which should not be executed (e.g. long runtimes) }
}
Jiasheng Zhu:
Paul Spende:
- https://github.com/paulsp94/fireData/commit/e2c18877d3abaa1e62e970810e786e2f7253cb12 (implemented .RD examples for the functions)
- https://gist.github.com/paulsp94/9e30ef7a90caa49fad0e603b12c9bb58 (Tests and Outputs)