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.
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.
- https://connect.doit.wisc.edu/geyserDemo (see inst/connect_modules/app.R)
- https://connect.doit.wisc.edu/geyserQuartoDemo (see inst/connect_modules/quarto/demo.qmd)
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
- Prepare R app for Shinylive Export
- Quarto Dashboard Shinylive for more information.
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.