Generate a Shiny application from a template

shinyAppTemplate(path = NULL, examples = "default", dryrun = FALSE)



Path to create new shiny application template.


Either one of "default", "ask", "all", or any combination of "app", "rdir", "module", "shinytest", and "testthat". In an interactive session, "default" falls back to "ask"; in a non-interactive session, "default" falls back to "all". With "ask", this function will prompt the user to select which template items will be added to the new app directory. With "all", all template items will be added to the app directory.


If TRUE, don't actually write any files; just print out which files would be written.


This function populates a directory with files for a Shiny application.


In an interactive R session, this function will, by default, prompt the user to select which components to add to the application. Choices are

1: All
2: app.R              : Main application file
3: R/example.R        : Helper file with R code
4: R/example-module.R : Example module
5: tests/shinytest/   : Tests using the shinytest package
6: tests/testthat/    : Tests using the testthat package

If option 1 is selected, the full example application including the following files and directories is created:

|- app.R
|- R
|   |- example-module.R
|   `- example.R
`- tests
    |- shinytest.R
    |- shinytest
    |   `- mytest.R
    |- testthat.R
    `- testthat
        |- test-examplemodule.R
        |- test-server.R
        `- test-sort.R

Some notes about these files:

  • app.R is the main application file.

  • All files in the R/ subdirectory are automatically sourced when the application is run.

  • R/example.R and R/example-module.R are automatically sourced when the application is run. The first contains a function lexical_sort(), and the second contains code for module created by the moduleServer() function, which is used in the application.

  • tests/ contains various tests for the application. You may choose to use or remove any of them. They can be executed by the runTests() function.

  • tests/shinytest.R is a test runner for test files in the tests/shinytest/ directory.

  • tests/shinytest/mytest.R is a test that uses the shinytest package to do snapshot-based testing.

  • tests/testthat.R is a test runner for test files in the tests/testthat/ directory using the testthat package.

  • tests/testthat/test-examplemodule.R is a test for an application's module server function.

  • tests/testthat/test-server.R is a test for the application's server code

  • tests/testthat/test-sort.R is a test for a supporting function in the R/ directory.