Shiny Templates from Appsilon
R is a versatile language for data science and Shiny is an R package for developing interactive web applications that improve data storytelling. R in combination with the right Shiny application can convert a backbench data science project into a massive success. However, even experienced R developers find it challenging to develop Shiny templates that display their data insights in an aesthetically pleasing and impactful way. In other words, most stock Shiny apps are ugly and not especially user-friendly.
The team at Appsilon has developed a large number of enterprise Shiny apps at an extremely high level of quality. We’ve developed industry-leading Shiny apps for companies like Merck, Johnson & Johnson, and BCG. Developing and scaling great-looking and high-performing Shiny applications for Fortune 500 companies takes many years of expertise and a talented team with a wide skillset ranging from infrastructure engineers to UX designers.
We are constantly looking for ways to make life easier for data scientists, individual Shiny developers, and small teams who may not be able to engage Appsilon in a full project. For instance, we have a number of open-source R packages such as shiny.fluent to help the R community build better, more beautiful Shiny dashboards. The next step for us is to provide robust templates to accelerate the creation of Shiny PoCs. We’ve created a bundle of four Shiny templates based on our Shiny demos that we’re providing to the R community on an open-source basis. Continue reading to learn more about the individual packages and how to install them.
Explore the power of Shiny with Appsilon’s Open-Source Shiny Template bundle.
- R Shiny Template Bundle
- Enterprise Dashboard
- Destination Overview Dashboard
- Fluent UI
- How to use your Shiny Template
R Shiny Template Bundle
The Appsilon Shiny Template bundle contains 4 applications. Each Shiny template is a free, open-source dashboard that users can download, install, and customize within minutes. We aim to help the R community quickly launch new projects or augment existing ones.
Shiny is in a league of its own when talking about building interactive web applications for documents, dashboards, BI tools, and more. But the control over customization requires experience in programming, web development, and UI/UX design. Ease-of-development is the limiting factor for Shiny adoption by those unfamiliar with programming in R.
Appsilon’s team of engineers, front-end developers, graphic designers, and business analysts have spent years delivering industry-leading R Shiny applications and building open-source R packages. Through our experience, we’ve developed workflows and frameworks to deliver creative and effective Shiny solutions and mapped efficiencies along the way. What better way to serve the R community than to provide a strong foundation for R users to test, build, improve, and implement their ideas.
Appsilon believes that function and beauty should go hand-in-hand for app development. That’s why we create open source Shiny tools for the R community.
The Shiny templates chosen for the bundle contain elements that are easily transferable to a variety of projects and cover three key features for app development:
- Interactivity – e.g., Enterprise Dashboard & Destination Overview
- UI/UX Design – e.g., Fluent UI App
- Simplicity – e.g., Destination Overview & Destination Overview Basic
A top-tier sales analytics dashboard designed with dynamic UI in mind. The dashboard is based on an HTML template and styled by Appsilon. It makes use of Appsilon branding, but you can customize it for your branding by changing font, coloring, and icons. There are multiple UI components that are defined as separate modules. This makes them easy to remove, reuse, and build your own application.
Enterprise Dashboard contains several dynamic elements including a map created with echarts4r, and charts showcasing two packages ggplot2 and dygraphs, that are updated through drop-down selections near the header.
- Shiny / htmlTemplate
- Sass, CSS Grid
- Headers with SVG logos
- Styled filters
- metrics displaying dynamic values based on dropdown selections
- Map created with echarts4r package
- Vertical bar chart created with ggplot2 package
- Horizontal bar chart created with dygraphs package
Explore the Enterprise Dashboard demo
Destination Overview Dashboard (+Basic)
A top-tier business logistics dashboard designed for functionality. The dashboard is based on RStudio’s shinydashboard package: a straightforward tool for building simple dashboards with menus, graphs, and more. If you want to start an application from scratch, we highly recommend beginning with shinydashboards.
Styling was done by Appsilon and can be easily edited for personal branding. There are multiple UI components that are defined as separate modules. You can use the modules to build your own app or edit / remove to transform an existing one.
Destination Overview contains several dynamic elements including the Destination Map and bar chart created with echarts4r, as well as an interactive table component from DataTable library. The custom navbar at the top of the table can be set with alternate spellings, e.g., NY, New York, york, etc. You can add custom SVG graphics to the global (static ‘Total’ values) and local (dynamic – values by state) metrics.
A simplified version of Destination Overview is included in the package as Basic Destination Overview. The Basic Destination Overview dashboard comes without the interactive map component and removes the menu bar. The basic version offers a simple, yet effective overview. The icons in the metrics at the top of the dashboard can be edited for a custom look.
- Shiny / shinydashboard
- Sass, CSS Grid
- Header with custom navbar elements
- sidebar with tabs menu
- Multiple tabs (2 dashboard views and contact page)
- Global metrics (static values) and local metrics (dynamic values) with SVG graphics
- Interactive table from DataTable
- Map created with echarts4r (not included in basic version)
- Bar chart created with echarts4r
Explore the Destination Overview demo
Fluent UI App
An app that showcases the ability to port Microsoft’s Fluent UI, among other React Libraries, to Shiny. Using two new Appsilon packages shiny.react and shiny.fluent, you can now easily integrate Microsoft’s ubiquitous UI into your data science projects.
The template contains several components including tables, charts, maps, and cards. There is a rich collection of components available to use here and we’ve provided descriptions, live examples, and code for quick implementation. Use Fluent features in your app to ‘wow’ your users and make ease-of-use a breeze.
- Shiny / shiny.react / shiny.fluent
- Top header with commandBar containing buttons
- Sidebar navigation with links, e.g., to home and analysis pages
- home page with cards and description
- analysis page presenting actual dashboard as a grid of cards:
- Bar chart created with plotly and ggplot
- Table component
- Map created with leaflet
Build familiar UI’s for a better user experience with an intro to MS Fluent and Shiny
How to use your Shiny Templates
To install all the dependencies for each app simply open the main directory and run renv::restore() in its root directory. The renv package is helpful for setting reproducible environments for R projects. If you’re unfamiliar with the renv package, we recommend reviewing the package documentation.
You can easily customize components and variables by exploring the App folder structure. In the root directory, you can find constant variables in ‘constants.R’. Here you can adjust items such as color values, logos, or text. You can add new components or modify existing ones in the ‘modules’ folder. The ‘styles’ folder contains scss files with UI styling. Be aware that if you add or alter files here, you must import or remove them from the main.scss.
Hosting and deploying
When it comes to deploying your Shiny app on the web, you have several options available ranging from open source to commercial platforms. You should take some time here to think carefully about the needs of your project and future upgrades as your application begins to scale.
If you’re familiar with RStudio you might consider using one of their products. You can deploy up to 5 applications to the cloud via RStudio’s Shinyapps.io. Shinyapps.io is fast, free, and easy to use.
If you prefer to keep your app stored on in-house storage RStudio has two options: Shiny Server and RStudio Connect. Shiny Server is open source and allows you to deploy your application behind firewalls. For enterprise-level applications, RStudio Connect covers all your bases from security and scaling to performance checks and resource metrics. RStudio allows you to automate operations, add permissions and security features, and supports a wide array of data science products developed in R or Python.
There are other options available, but for most use cases RStudio products provide quality solutions. If you are unsure of what type of product is best for you, reach out to us. Appsilon is a proud RStudio Full Service Certified Partner and can help guide you to a best-fit decision.
If you’re a legacy Shiny Server Pro user you can still deploy your R and Python products with RStudio. For new users, RStudio Connect serves as the new-n-improved publishing platform for R and Python. RStudio comes with all the bells and whistles of Shiny Server Pro, with some added features to make sharing your data products a lot easier and maintainable.
Need an enterprise solution beyond these Shiny Templates?
Choosing R Shiny for app production means taking advantage of complete customization and interactive data visualization that will set your app apart from the competition. But we recognize that Shiny can bring its own challenges. If you need a PoC fast or an improvement on an existing concept, reach out to us. Appsilon is a global leader in R/Shiny development. And the Appsilon team plays an active role within the R/Shiny community, developing and maintaining open source packages and Shiny templates. From design to infrastructure, our Shiny tools can be used to build efficient, beautiful Shiny applications that scale. We’ve got the skillset to solve the most challenging of problems.