Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thinkr-open/golem

A Framework for Building Robust Shiny Apps
https://github.com/thinkr-open/golem

golemverse hacktoberfest r r-package shiny shiny-apps shiny-r shinyapps

Last synced: 1 day ago
JSON representation

A Framework for Building Robust Shiny Apps

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r setup, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
eval = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%",
fig.align = "center"
)
```

```{r echo = FALSE}
name_branch <- gert::git_branch()
link_to_branch_svg <- paste0(
"https://codecov.io/gh/ThinkR-open/golem/branch/",
name_branch,
"/graph/badge.svg"
)
link_to_branch_html <- paste0(
"https://app.codecov.io/github/ThinkR-open/golem/tree/",
name_branch
)
```

```{r, echo = FALSE, results = "asis"}
cat('[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html)')
cat('[![R-CMD-check](https://github.com/ThinkR-open/golem/workflows/R-CMD-check/badge.svg)](https://github.com/ThinkR-open/golem/actions)')
cat(paste0("\n[![Coverage status](", link_to_branch_svg, ")](", link_to_branch_html, ")"))
cat('[![CRAN status](https://www.r-pkg.org/badges/version/golem)](https://cran.r-project.org/package=golem)')
```

# {golem}

> You're reading the doc about version: `r pkgload::pkg_version()`. Note that `{golem}` follows the [semantic versioning](https://semver.org/) scheme.

Production-grade `{shiny}` applications, from creation to deployment.

`{golem}` is an opinionated framework that sets the standard for building production-grade `{shiny}` applications. It provides a structured environment that enforces best practices, fosters maintainability, and ensures your applications are reliable, and ready for deployment in real-world environments.

With `{golem}`, developers can focus on creating high-quality, robust `{shiny}` apps with confidence, knowing that the framework guides them through every step of the development process.

## Installation

- You can install the stable version from CRAN with:

``` r
install.packages("golem")
```

- You can install the development version from [GitHub](https://github.com/Thinkr-open/golem) with:

``` r
# install.packages("remotes")
remotes::install_github("Thinkr-open/golem") # Stable development version
# remotes::install_github("Thinkr-open/golem@dev") # Bleeding edge development version
```

## Get Started

Create a new app with the project template from RStudio:

```{r, echo=FALSE, out.width="80%", eval=TRUE}
knitr::include_graphics("https://raw.githubusercontent.com/ThinkR-open/golem/master/inst/img/golemtemplate.png")
```

Or use the `golem::create_golem()` function:

``` r
golem::create_golem("myapp")
```

See your app in action by running `golem::run_dev()` function.

Then, follow the scripts at:

- `dev/01_start.R` to configure your project at launch
- `dev/02_dev.R` for day to day development
- `dev/03_deploy.R` to build the deployment enabler for your app

## Resources

The `{golem}` package is part of the [`{golemverse}`](https://golemverse.org/), a series of tools for building production `{shiny}` apps.

A list of various `{golem}` related resources (tutorials, video, blog post,...) can be found [here](https://golemverse.org/resources/), along with blogposts, and links to other packages of the `golemverse`.

---

## Dev part

This `README` has been compiled on the

```{r}
Sys.time()
```

Here are the test & coverage results:

```{r error = TRUE}
devtools::check(quiet = TRUE)
```

```{r echo = FALSE}
unloadNamespace("golem")
```

```{r error = TRUE}
Sys.setenv("NOT_CRAN" = TRUE);covr::package_coverage()
```

## CoC

Please note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/1/0/0/code-of-conduct.html). By participating in this project you agree to abide by its terms.

## Note for the contributors

Please style the files according to `grkstyle::grk_style_transformer()`

```{r eval = FALSE}
# If you work in RStudio
options(styler.addins_style_transformer = "grkstyle::grk_style_transformer()")

# If you work in VSCode
options(languageserver.formatting_style = function(options) {
grkstyle::grk_style_transformer()
})
```