Introduction to Shiny Application Development

Abstract: 

Turning raw data into meaningful information and telling data-driven stories is one of the great challenges of data science. When your data does not have you to speak for it in a live situation, your application needs to communicate your message clearly and provide simple interfaces and meaningful interactions to drive your message home to consumers.
In this session, you will learn to use Shiny to build a dashboard from blank page to interactive application using the programming language R, the free R development environment rStudio, and Redis. We will use free public data and open source libraries as we sculpt our dashboard together.

At the end of our session you should be able to:
Determine the scope of a simple shiny dashboard
Set up your work environment
Create ui.r and server.r files to control the front and backends of your application
Work with common Shiny functions to
Choose a dashboard layout
Import select and update data
Create a dynamic visualization
Add interactive dashboard widgets to your application
Launch & Test your Shiny application
Workshop Outline

What is Shiny?
We will learn what a Shiny Application is and why would we choose to build one instead of using another dashboard method (or software package) and take a tour of the completed application we will build together today

Set-Up Work Environment
Download data Github (and talk about how to use the Original API it was gathered from)
Using the command line to install Redis (which will hold our data locally) and fire up the Redis server
Install R packages necessary to support Shiny and application-specific needs (Redis, Leaflet, etc..)
Build and launch a simple ‘Hello World’ shiny application to test our environment prior to building the application

Build the Front End
Create a Shiny ui.R script which will control the look and interactivity of the application
Compose dashboard layout
Add Content Blocks for Visualizations
Add selectors to request and filter data

Build the Back End
Write the server.R script which provides back end support for the application.
Means for connecting and pulling data from Redis
Craft reactive functions to filter data in response to front end selection and filtration tools

The dashboard we build together will be relatively simple in its construction, while still providing meaningful information that a user without human guidance can understand. We will learn to deploy and debug each step of the way as we iterate up on our final product together.
This project will provide a solid introduction to some of the tools and challenges you will need to master to build more complex applications and provide us with opportunities to talk about the visual decision we are making to support a clear and concise messaging.

Background Knowledge
You should be comfortable working in R and r Studio as well as navigating directories and packages using terminal commands.

Bio: 

Bethany Poulin is a data scientist and educator with expertise in statistical analysis, data visualization, and complex algorithmic problem-solving. She has worked as a professional data scientist and educator for the last 4 years and loves sharing what she has learned with her students. Her unusual background in Fine Arts and experience teaching high school give her a unique perspective on both problem-solving and the learning-teaching process. Prior to teaching this part-time course, she was a lead instructor in our Data Science Immersive program on the Boston campus. She teaches simply because she loves students and enjoys being a part of their success. She holds a BFA in Professional Photography from Rochester Institute of Technology, did post bachelor’s studies and the University of Montana in Environmental Biology, where she was recognized nationally as a Morris K Udall Scholar, is one semester away from an MS in Data Science from the City University of New York. She is has presented at PyOhio 2018 and 2019 and gave a presentation at ODSC East in 2019. In her spare time, Bethany is an avid fly fisherman, potter, and maker.