Giter VIP home page Giter VIP logo

shinybuilder's Introduction

ShinyBuilder

Build Status

ShinyBuilder is a point-and-click dashboard platform based on R/Shiny which makes it simple to create and share live, connected dashboards. To try it out, please see the ShinyBuilder live demo.

ShinyBuilder was created with the following goals:

  • Easy Access - Can be accessed from any web browser
  • Easy Authoring - Dashboards are created via a point-and-click GUI, enabling anyone with basic SQL skills to set up a professional dashboard in a matter of minutes.
  • Instantly Connected - ShinyBuilder charts begin as SQL queries, and are immediately linked to a live database. Once created, the charts are refreshed daily & automatically, eliminating need to build ETL workflows.
  • Extensible & Modular - all major JavaScript libraries used in the project have been wrapped into resusable R/Shiny packages, making it easy to extend ShinyBuilder or to use ShinyBuilder components in your own projects.

ShinyBuilder components include:

Install

To install, run

if (!require("devtools"))
  install.packages("devtools")
devtools::install_github("mul118/shinyMCE")
devtools::install_github("mul118/shinyGridster")
devtools::install_github("iheartradio/ShinyBuilder")

If all goes well, you should now be able to run ShinyBuilder locally by typing

ShinyBuilder::runShinyBuilder()

Shiny Server

You can deploy ShinyBuilder to Shiny Server by installing the package on the server, then running the deployShinyBuilder function:

deployShinyBuilder(dir = '/srv/shiny-server/ShinyBuilder')

Please note that by default, ShinyBuilder is set to auto-update all dashboards by registering and periodically running a cron script. You can enable or disable by setting the update argument to TRUE or FALSE, respectively. You can also specify the update schedule via the times argument, which takes the crontab format (i.e., minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, Sun = 6)). For example, to update all ShinyBuilder dashboards at 12:00 AM every day, run

deployShinyBuilder(dir = '/srv/shiny-server/ShinyBuilder', update = TRUE, times = c(0, 0, "*", "*", "*"))

Databases

You can connect ShinyBuilder to your databases using the included dbList functions.

For example, to add a SQL Server database, download an appropriate JDBC driver to the drv directory of the installed ShinyBuilder package, then run the following code:

mssql_db <- quote({
  sb_drv_dir <- paste0(system.file(package = 'ShinyBuilder'), '/drv')
  dbConnect(
    drv       = JDBC('com.microsoft.sqlserver.jdbc.SQLServerDriver', sb_drv_dir), 
    url       = 'jdbc:sqlserver://server_address', 
    user      = 'user', 
    password  = 'pwd')})
    
mssql_default_query <- "SELECT month, earnings, costs \nFROM monthly_reports_table"

dbListAdd(db_name = 'MSSQL', db = mssql_db, query_fn = RJDBC::dbGetQuery, default_query = mssql_default_query)

Use

Please see the Sample Dashboard for a mini-tutorial to get you started. If you have any questions, comments, concerns, etc., please feel free to consult the ShinyBuilder mailing list.

shinybuilder's People

Contributors

mul118 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.