geyser

geyser: Shiny Module Demo

This repo demonstrates how to modularize the Faithful Geyser Shiny example using the Shiny module technology. Sometimes this module stuff is tricky to figure out.

GitHub

Slide Decks

Slide decks were developed using Quarto.

Earlier versions of these slide decks are available from Posit Connect:

Demos

Live demos rendered with GitHub Pages:

Live demos are also available via Posit Connect.

The following presentation demonstrates R Shiny apps and their modules using the geyserShinyR slide deck.

ShinyLive Demos

I tried building these demos on GitHub Pages using shinylive for the demo app in inst/connect_modules shown above. For more information, see

R and Python Package Layouts

The repo has both an R and Python package. The R package is organized as

R package
├── DESCRIPTION
├── NAMESPACE
├── R/
│   └── *.R
├── man/
└── inst/

The Python package is organized as follows

Python package
├── pyproject.toml
├── geyser
│   ├── __init__.py
│   └── *.py

Examples in R, Python and Quarto are strewn through the inst/ directory:

inst/
├── build_module/
│   ├── 1_oldFaithful/
│   │   ├── *.R
│   │   └── *.qmd
│   ├── 2_newFaithful/
│   │   ├── *.R
│   │   └── *.qmd
│   ├── 3_callModule/
│   │   ├── *.R
│   │   └── *.qmd
│   ├── 4_moduleServer/
│   │   ├── *.R
│   │   └── *.qmd
│   └── 5_python/
│       ├── *.py
│       └── *.qmd
├── connect_modules/
│   ├── *.R
│   ├── python/
│   │   └── *.py
│   └── quarto/
│       └── *.qmd
└── reactlog/

Shiny Reactlog

The inst/reactlog directory contains examples of using reactlog with Shiny apps to track reactivity of an app across its components.