# 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
## Dependencies ----
## Add one line by package you want to add as dependency
usethis::use_package( "base" )
usethis::use_package( "DBI" )
usethis::use_package( "digest" )
usethis::use_package( "DT" )
usethis::use_package( "covr" , type = "suggests" )
usethis::use_package( "devtools" , type = "suggests" )
usethis::use_package( "dplyr" )
usethis::use_package( "ggplot2" )
usethis::use_package( "htmltools" )
usethis::use_package( "keyring" )
usethis::use_package( "liteq" )
usethis::use_package( "logger" )
usethis::use_package( "lubridate" )
usethis::use_package( "magrittr" )
usethis::use_package( "plotly" )
usethis::use_package( "purrr" )
usethis::use_package( "R6" )
usethis::use_package( "renv" )
usethis::use_package( "RPostgres" )
usethis::use_package( "shiny" )
usethis::use_package( "shinyjs" )
usethis::use_package( "shinyMobile" )
usethis::use_package( "stringi" )
usethis::use_package( "tibble" )
usethis::use_package( "tidyselect" )
usethis::use_package( "utils" )
## Dependency Management ----
renv::snapshot(type = "explicit")
## Add modules ----
## Create a module infrastructure in R/
golem::add_module( name = "data" )
golem::add_module( name = "inputs" )
golem::add_module( name = "navbar" )
golem::add_module( name = "button_action" )
golem::add_module( name = "button_input" )
golem::add_module( name = "predlist" )
golem::add_module( name = "appdate_row" )
golem::add_module( name = "popup_box" )
golem::add_module( name = "monitor" )
golem::add_module( name = "table" )
golem::add_module( name = "home" )
golem::add_module( name = "predictions" )
golem::add_module( name = "settings" )
## Add helper functions ----
## Creates fct_* and utils_*
golem::add_fct( "db" )
golem::add_utils( "db-migrate" )
golem::add_utils( "db-cluster" )
golem::add_utils( "vars" )
## 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( "popup" )
golem::add_css_file( "photo" )
golem::add_css_file( "times" )
## 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("kpthor")
devtools::build_vignettes()
## Code Coverage----
## Set the code coverage service ("codecov" or "coveralls")
usethis::use_coverage()
# Create a summary readme for the testthat subdirectory
covrpage::covrpage()
## CI ----
## Use this part of the script if you need to set up a CI
## service for your application
##
## (You'll need GitHub there)
usethis::use_github()
# GitHub Actions
usethis::use_github_action()
# Chose one of the three
# See https://usethis.r-lib.org/reference/use_github_action.html
usethis::use_github_action_check_release()
usethis::use_github_action_check_standard()
usethis::use_github_action_check_full()
# Add action for PR
usethis::use_github_action_pr_commands()
# Travis CI
usethis::use_travis()
usethis::use_travis_badge()
# AppVeyor
usethis::use_appveyor()
usethis::use_appveyor_badge()
# Circle CI
usethis::use_circleci()
usethis::use_circleci_badge()
# Jenkins
usethis::use_jenkins()
# GitLab CI
usethis::use_gitlab_ci()
# 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.