Colin FAY Data Scientist & R-Hacker at ThinkR. Vincent Guyader ThinkR Founder & CTO, Data Scientist, R expert. Find us on the web http://thinkr.fr http://rtask.thinkr.fr http://github.com/thinkr-open http://twitter.com/thinkr_fr $ whoami Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 2 / 26
Data Science engineering, focused on R. Training Software Engineering R in production Consulting ThinkR Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 4 / 26
What's a "prod-ready" software? Has meta-data Is divided in functions Is tested Lists requirements Is documented Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 5 / 26
Here comes {golem} {golem} is an R package that contains a framework for building production-ready Shiny Applications. Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 8 / 26
Why {golem}? If you have to copy and paste a piece of code more than twice, write a function Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 11 / 26
Why {golem}? If you have to copy and paste a piece of code more than twice, write a function If you have to copy and paste an infrastructure more than twice, write a framework Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 11 / 26
Has meta-data Is divided in functions Is tested Lists requirements Is documented DESCRIPTION R/ tests/ NAMESPACE man/ & vignettes {golem} central philosophy Shiny App As a Package What's a "prod-ready" Shiny App? Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 13 / 26
Template files (and where to put them) golem::add_module( name = "my_module.R" ) ✓ File created at R/mod_my_module.R Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 18 / 26
Template files (and where to put them) ... #' @importFrom shiny NS tagList mod_my_module_ui <- function(id){ ns <- NS(id) tagList( ) } #' @noRd mod_my_module_server <- function(input, output, session){ ns <- session$ns } ## To be copied in the UI # mod_my_module_ui("my_module_ui_1") ## To be copied in the server # callModule(mod_my_module_server, "my_module_ui_1") Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 19 / 26
What's next All WIP and ideas are currently listed at https://github.com/ThinkR-open/golem/issues Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 20 / 26
What's next? Spread the word (and share stickers): tweets, blog posts, talk to your friends and family about {golem} Open issues when you encounter a bug Give feedback about things you might find weird Open issue if you have idea / feature requests Colin FAY (@_ColinFay) - https://rtask.thinkr.fr 22 / 26