Building Web Applications
with Shiny

Welcome!

This is a short course that will introduce you to Shiny.

The course is organized into four modules, which you can access with the navigation bar above.

  • Module 1: Hello Shiny! - Architecture of a shiny app
  • Module 2: Reactive flow - Inputs to rendering functions to outputs
  • Module 3: Reactivity essentials - Diving deeper into reactive programming
  • Module 4: Customizing UI - Understanding how to build a user interface

Getting practice

This course contains practice exercises where you will have the opportunity build and modify a Shiny app yourself.

When you encounter an exercise in the modules, you will see a button that looks something like this:

Navigate to the project called 1-3 Fix it up after clicking the button below

Go to RStudio Cloud Workspace

This button will link to an RStudio Cloud Workspace for this course, where I have set up a project for each of the exercises. Each of the projects contains code for you to play with, modify, and run!

The course workspace

A project with the code necessary for one of the practice questions

The last project in this workspace contains Shiny scripts with the solutions in case you get stuck.

Running the app locally

If you don’t want to work in RStudio Cloud projects, you can instead choose to run the code locally in your own RStudio IDE. To go this route, make sure you:

  1. Download the file containing the data set with the link below, and save it in the RStudio Project you’ll be working out of. We will use this file throughout the course.

    Download movies.RData

  2. Copy and paste the code for the each exercise, which you’ll find at the end of each exercise question.

Ready, steady, go!

Time to give this Shiny course a whirl!

Questions?

RStudio Community is a great place to ask any questions related to Shiny.

If you have any suggestions for improvement (bug reports, typos, something unclear that should be revised, etc.) for this particular tutorial, you can open an issue in the tutorial repo.