# Building a Prod-Ready, Robust Shiny Application.
#
# README: each step of the dev files is optional, and you don't have to
# fill every dev scripts before getting started.
# 01_start.R should be filled at start.
# 02_dev.R should be used to keep track of your development during the project.
# 03_deploy.R should be used once you need to deploy your app.
#
#
###################################
#### CURRENT FILE: DEV SCRIPT #####
###################################
# Engineering
## renv setup (one-off) ----
renv::init(settings = list(snapshot.type = "explicit"))
renv::snapshot()
# renv restore ----
renv::restore()
# make sure packages needed for the development are available
install.packages("devtools")
install.packages("usethis")
## markdown documentation ----
usethis::use_roxygen_md()
## Dependencies ----
## Add one line by package you want to add as dependency
# install.packages("shinyWidgets")
# usethis::use_package("shinyWidgets")
# renv::snapshot()
## Add modules ----
## Create a module infrastructure in R/
golem::add_module(name = "faithful_histogram")
## Add helper functions ----
## Creates ftc_* and utils_*
# golem::add_fct("helpers")
# golem::add_utils("helpers")
## External resources
## Creates .js and .css files at inst/app/www
# golem::add_js_file("script")
# golem::add_js_handler("handlers")
# golem::add_css_file("custom")
## Add internal datasets ----
## If you have data in your package
# usethis::use_data_raw(name = "my_dataset", open = FALSE)
## Tests ----
## Add one line by test you want to create
# usethis::use_test("app")
# Documentation
## Vignette ----
# usethis::use_vignette("ShinyCICD")
# devtools::build_vignettes()
## Code coverage ----
## (You'll need GitHub there)
# usethis::use_github()
# usethis::use_travis()
# usethis::use_appveyor()
## Release ----
# usethis::use_version("minor") # "major", "minor", "patch"
# usethis::use_dev_version()
# You're now set! ----
# go to dev/03_deploy.R
rstudioapi::navigateToFile("dev/03_deploy.R")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.