::: {#page1 .sd-page}
1 content here
Page
:::
Getting Started
Overview
Every surveydown survey is composed of a survey and an app, defined in two separate files:
survey.qmd
: A Quarto document that contains the survey content (pages, questions, etc), which renders to an HTML file.app.R
: An R script defining a Shiny app that contains the global settings (libraries, database configuration, etc.) and server configuration options (e.g., conditional skipping / display, etc.).
These files must be named survey.qmd
and app.R
.
The {surveydown} R package provides a set of functions for defining the survey content and configuration options. Each function starts with sd_
to make them easy to identify.
The platform is based on some basic principles:
- Add content to your
survey.qmd
file using markdown text (or in RStudio use the visual editor). - Define survey questions in R code chunks with the
sd_question()
function. - Define pages using fences (
:::
), with navigation buttons handled using thesd_next()
function. - Add rich functionality to your survey using a variety of server options and conditional control logic in the
server()
function in theapp.R
file. - Store your respondent data in a database (see Store Data).
This approach ensures a flexible survey platform that is fully reproducible and easy to customize.
The remaining steps on this page will guide you through the process of creating a surveydown survey.
1. Install
See the Installation page.
2. Start with a template
See the Template page.
3. Add survey content in your survey.qmd
file
See the Survey Components page for details on the main components in a surveydown survey. For a quick overview, here’s how you add pages and questions:
- Add pages with fences, like this:
- Add questions with the
sd_question()
function in code chunks (see the Question Types page for more on the types of questions supported). For example, here’s a multiple choice question:
```{r}
sd_question(
type = 'mc',
id = 'penguins',
label = "Which is your favorite type of penguin?",
option = c(
'Adélie' = 'adelie',
'Chinstrap' = 'chinstrap',
'Gentoo' = 'gentoo'
)
)
```
4. Add control options
In the server()
function in the app.R
file, add rich functionality to your survey using a variety of server options and conditional control logic.
5. Setup your database
In the global settings at the top of the app.R
file, setup your database with the sd_database()
function. You can also leave it blank to preview / edit your survey without database connected, or set ignore = TRUE
to run the survey without storing data. See the Store Data page for more details.
6. Locally preview
Preview your survey by clicking the “Run App” button in RStudio or in your R console running the runApp()
command.
7. Deploy
Deploy your survey by hosting it on your favorite server, like shinyapps.io, HuggingFace, Posit Connect Cloud, Heroku, etc. See the Deployment page for more details.