dev/02_dev.R

# 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( "DBI" )
usethis::use_package( "dplyr" )
usethis::use_package( "DT" )
usethis::use_package( "glue" )
usethis::use_package( "leaflet" )
usethis::use_package( "leaflet.extras" )
usethis::use_package( "lubridate" )
usethis::use_package( "mapedit" )
usethis::use_package( "pool" )
usethis::use_package( "RPostgres" )
usethis::use_package( "sf" )
usethis::use_package( "shiny" )
usethis::use_package( "shinydashboard" )
usethis::use_package( "shinydashboardPlus" )
usethis::use_package( "shinyjs" )
usethis::use_package( "shinycssloaders" )
usethis::use_package( "shinyTime" )
usethis::use_package( "shinytoastr" )
usethis::use_package( "stringi" )
usethis::use_package( "tibble" )
usethis::use_package( "tippy" )
usethis::use_package( "uuid" )

## Add modules ----
## Create a module infrastructure in R

# Notes: 
# 1. For passing input values to other modules see:
#    https://tbradley1013.github.io/2018/07/20/r-shiny-modules--using-global-inputs/
#    One added wrinkle is that if input values were created in a module then you need
#    to output the list of input values from the module as a variable. Then use the
#    values listed in that variable for the consuming module.

# Catch-area-site sidebar
golem::add_module( name = "date_area" ) 
golem::add_module( name = "creel_site" ) 
golem::add_module( name = "site_date" ) 
golem::add_module( name = "catch_area_site" ) 

## Add helper functions ----
## Creates ftc_* and utils_*
golem::add_fct( "catch_area_site" ) 
golem::add_utils( "database" )

## 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( "BaselineData" )

## 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("BaselineData")
devtools::build_vignettes()

## dplyr pipe
usethis::use_pipe()

## Code Coverage ----
## Set the code coverage service ("codecov" or "coveralls")
usethis::use_coverage()

## CI ----
## Use this part of the script if you need to set up a CI
## service for your application
## 
## (You'll need GitHub there)...Do this initially to set up tracking.
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")
arestrom/BaselineData documentation built on Sept. 28, 2020, 9:38 a.m.