knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
ShinyLEGO is a Shiny application that lets you create a simulated mosaic composed of LEGO bricks from any image file. Once your picture is uploaded, you can customize various settings for your mosaic such as dimensions, brightness, and color types. In addition, the application will generate specific instructions so that you can build the mosaic yourself! These instructions contain the brick colors and types required for each step, and a diagram showing how the bricks are to be assembled.
This application would not be possible without the innovative R scripts created by Ryan Timpe! Ryan has written excellent blogposts detailing the workflow this application draws upon, and the code for each post can be found on his LEGOMosaics GitHub repository:
You can install the development version of shinylego
from GitHub with:
# install.packages("remotes") remotes::install_github("rpodcast/shinylego")
Once you have installed the package, you can run the application within your R session using the following command:
shinylego::run_app()
shinylego
is also available on the Shinyapps.io hosting service at rpodcast.shinyapps.io/shinylego.
Note for developer: The deployment should not include files associated with renv
, since the shinyapps.io service will handle package versions during the deployment process. Add the files/directories required for deployment in the dev/app_manifest.txt
file, and execute deployment with the following:
rsconnect::deployApp(appName = "shinylego", appFileManifest = "dev/app_manifest.txt", launch.browser = FALSE)
Contributions are welcome! This application uses the renv
package to manage the versions of dependencies. After cloning the repository, launch a new session in the repository root directory and execute renv::restore()
to download the package library.
In addition to Ryan Timpe's excellent R programs detailed above, this application utilizes many powerful packages in the shiny
ecosystem such as the following:
shinyjs
: Easily improve the user experience of your Shiny apps in seconds by Dean Attalibs4Dash
: Bootstrap 4 shinydashboard using AdminLTE3 by David Granjob (part of the RinteRface initiative)shinyWidgets
: Extend widgets available in Shiny by Victor Perrier (part of the dreamRs organization) shinycustomloader
: Add a custom loader for R shiny by Emi TanakaDT
: R Interface to the jQuery Plug-in DataTables by Yihui Xiegolem
: A framework for building robust Shiny Apps by Vincent Guyader and Colin Fay (part of the R Task Force at ThinkR)Please note that the 'shinylego' project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.