SkillAgentSearch skills...

ShinyAppTutorials

a collection of shiny app demonstrations :bar_chart:

Install / Use

/learn @davidruvolo51/ShinyAppTutorials
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

the shiny app tutorials project

<!--- badges: start --->

Update README

<!--- badges: end --->

shinyTutorials

This repo contains the code for the examples and demonstrations presented on my site: davidruvolo51.github.io/shinytutorials/.

Contents

<!-- TOC depthFrom:2 --> <!-- /TOC -->

Motivation

In my early days of learning shiny, I kept a document of tips and tricks. It worked nicely, but it quickly became too cluttered and scattered. I decided to create this project to organize the material in to a series of practical examples and to make it available for the wider R community.

I am interested in web accessibility, data visualization and the communication of results, and good design practices. Many of the examples that I developed rely heavily on HTML, CSS, and JavaScript methods. I will try to keep things simple and provide links for further reading.

Suggestions for improvement are always welcome!

Tutorials

I plan on developing a new Shiny app every now and then. Checkout the issues label Tutorial Ideas for examples that I'm currently developing or planning. New ideas are also welcome!

There are two types of examples: available and archived. Available examples are regularly maintained and updated. The archived examples still work, but the methods are outdated or the example was replaced by a newer one.

Cloning Tutorials

You can clone the entire repository, but be aware that you will also clone the entire git history. You can either download the files or folders that you want or use git sparse-checkout. In the terminal, run the following commands.

git clone --filter=blob:none --sparse https://github.com/davidruvolo51/shinyAppTutorials
cd shinyAppTutorials
git sparse-checkout init --cone
git sparse-checkout set drag-and-drop

Replace drag-and-drop for the subdirectory that you wish to checkout locally. For more information, take a look at this GitHub blog post: Bring your monorepo down to size with sparse-checkout.

Available Tutorials

<!-- begin:activeTutorials -->

|name |description |version |link | |:-----------------------|:-----------------------------------------------------|:-------|:--------| |data-editor |A shiny app for editing dataset in shiny |1.0.0 |tutorial| |drag-and-drop |create a drag and drop component |1.0.1 |tutorial| |get-window-dims |sending data from javascript |1.1.0 |tutorial| |js-handlers |getting started with custom handlers |1.1.1 |tutorial| |leaflet-loading-screens |creating a loading screen for leaflet |1.0.0 |tutorial| |login-screen |Adding basic user authentication to shiny apps |1.1.0 |tutorial| |progress-bars-example |creating a shiny progressbar using R6 classes |1.1.0 |tutorial| |responsive-datatables |create responsive datatables in R |1.1.0 |tutorial| |rmarkdown-app |using Rmarkdown as Shiny UI |1.1.0 |tutorial| |sass-in-shiny |integrating SASS into your Shiny development workflow |1.1.0 |tutorial| |setting-html-attributes |set document attributes |1.0.1 |tutorial| |shiny-accordion |A component for collapsing HTML elements |1.0.0 |tutorial| |shiny-landing-page |create a landing page |1.1.0 |tutorial| |shiny-links |a component for within app navigation |1.1.0 |tutorial| |shiny-listbox |create listbox components in shiny |1.1.0 |tutorial| |time-input |creating a custom time input for use in shiny |1.1.0 |tutorial|

<!-- end:activeTutorials -->

Archived Tutorials

The examples listed in the following table are achived. They still work, but they are either outdated or were replaced by a newer example. (I'm a bit hesitant to remove these examples in case some follows a link to a page that doesn't exist.)

<!-- begin:archivedTutorials -->

|name |description |version |link | |:-----------------------|:--------------------------------------------------|:-------|:--------| |internal-links |Create a link from a leaflet popup to a shiny page |1.1.0 |tutorial| |internal-links-basic-ex |Create links from one shiny page to another |1.1.0 |tutorial| |internal-links-demo |Navigate to a specific tab on another page |1.1.0 |tutorial| |select-input-styling |Style a select input element using CSS |1.1.0 |tutorial|

<!-- end:archivedTutorials -->

The internal links examples are outdated. Instead, use the shinyLink component described in the Shiny Link subdirectory (02 August 2020).

Resources

Many of the tutorials rely heavily on HTML, CSS and JavaScript to create specific layouts and interactivity. These are good skills to have, and they will come in handy when building custom applications. Throughout the examples, I've tried to keep things simple and provide links to outside sources where applicable. If something isn't clear or you have suggestions for improvement, feel free to open a new issue.

If you would like to learn more, here are some links that you may find useful.

Communities

Courses

Web Accessibility

Web Development

Contributing to this project

If you would like to add your own tutorial, that would be wonderful! Get in touch with me by opening a new issue and checkout the Contributing Guidelines.

View on GitHub
GitHub Stars61
CategoryEducation
Updated5mo ago
Forks19

Languages

R

Security Score

97/100

Audited on Oct 6, 2025

No findings