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

list_pkg <- c("shiny","shinydisconnect",  "golem", "plyr", "dplyr", "tidyr",
              "shinybusy", "DT",  "shinyWidgets", "renv", "lubridate")
purrr::map(list_pkg, function(pkg){
  usethis::use_package(pkg)  
})

list_pkg_gh <- c("parmesan", "shinyinvoer", "shinypanels",
                 "dsmodules", "lfltmagic", "hgchmagic")
purrr::map(list_pkg_gh, function(pkg){
  usethis::use_dev_package(pkg) 
})
## Add modules ----
## Create a module infrastructure in R/
golem::add_module( name = "questions_buttons" ) # buttons panel one
golem::add_module( name = "load_parmesan" ) # load controls
golem::add_module( name = "selected_data" ) # data selection accorging question selected
golem::add_module( name = "filter_data" ) # data filter by question selected
golem::add_module( name = "viz_data" ) # data for plotting
golem::add_module( name = "viz_selection" ) # plot by question selected
golem::add_module( name = "data_to_table" ) # data to show like table in ui 
golem::add_module( name = "viz_type" ) # visualization type to plot
golem::add_module( name = "load_viz" ) #  graphics to upload
golem::add_module( name = "click_info" ) # info for id of click over plot
golem::add_module( name = "download_viz" ) # download module
golem::add_module( name = "description_modal" ) #  info modal description
golem::add_module( name = "filter_index" ) #info modal description
golem::add_module( name = "info_footer") #add extra info


## Add helper functions ----
## Creates fct_* 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("all_data", open = FALSE)

## Tests ----
## Add one line by test you want to create
usethis::use_test( "app" )

# Documentation

## Vignette ----
usethis::use_vignette("cdmxApp")
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")
datasketch/cdmxApp documentation built on Sept. 11, 2022, 12:31 a.m.