Professional sports organizations have exponentially increased the adoption of new technologies and access to broader and larger amounts of information in recent years. Furthermore, medical and performance departments have also grown in size with more staff members and a wider variety of backgrounds (ATCs, S&C, Rehab Coaches, Sport Scientist, Nutritionits, Sport Psychologists, etc.). As a result, the demand for platforms that leverage aggregation, interpretation, reporting and sharing of this information at different levels within and across departments is becoming more relevant.
Sport Scientists often work at the intersection of coaching and analysis with direct responsibilities for disseminating this information in ways that are meaningful and user friendly. The more refined this process is, the higher the opportunity for all relevant members of the staff to integrate this information within their decision making strategy. Generally speaking (and acknowledging the fact that this is rapidly evolving), sport scientists have traditionally lacked programming skills outside common platforms such as Microsoft Excel, increasing the need to rely on commercial products, also known as Athlete Management Systems (AMS), to aid with data reporting and sharing.
Over the last decade I've been exposed in different ways to some of the most common AMS platforms available to sport medicine and performance teams. I have also been involved in designing, building and deploying athlete data management solutions using a variety of business intelligence tools. In recent years, I started to rely more on Shiny than other options as my framework of choice to build interactive web applications, some of which, ended up fully replacing commercial software, some others were simply developed to cover a specific need that other products were not able to cover at that exact time.
Some degree of familiarity with the R language and Shiny programming is needed to better understand the resources shown on this document. If this is not the case, I recommend checking out some of the many great publicly available materials to learn the basics of Shiny. My goal is to highlight and discuss various elements I tend to include or have the potential to improve user-app interaction, engagement and overall experience. As you can see, most of the focus will be on the User Interface (UI) side of things.
When I first started building Shiny apps I found myself investing large amounts of time researching how to do that specific thing (element, functionality, desired look, etc...) I wanted to implement. My hope is that this document can help others that are going through the same by compiling a list of useful resources and showing minimal examples on how they can be used (examples will be added over time).
I hope you find this document useful. If you feel I can be of any help or if you would like to discuss further any of this content please feel free to reach out. You can contact me via email or through my twitter account. Likewise, if you have any feedback to improve this document (be it via missing resources or code examples) please do not hesitate to let me know.
Best,
Jose Fernandez
Big thanks to those investing their time and knowledge to build these resources for others to use
Click here to see the list of all available Shiny Resources.
- ShinyThemes
- Dashboardthemes
- Fresh
- shinyMaterial
- bootstraplib
- thematic
- bslib
- shinybootstrap2
- shinyBS
- shinyPanels
- via DT
- DTedit + my example
- DataEditR
- RhandsonTable
- ShinyAlert
- Toastr
- shinyTostify
- sweetAlert (via shinyWidgets)
- shinyFeedback
- shinyPop
- shinyhelper
- shinyhttr
- Form Code example (to do)
- shinyForms
- shinyreforms
- FAQ Section
- shinySurveys
- Basic inputs
- shinyWidgets
- shinyBody
- DT Editable Input
- shinyRatingInput
- shinyReactWidgets
- shinyChakraSlider
- shinyfilter
- shinyGovstyle
- shinyKnobs
- shinyMatrix
- shinyNotes
- shinyRadioMatrix
- shinyTime
- Fontawesome
- Glyphicon
- icongram
- Use your own image (example)
This document is an extension of a previous Twitter thread
Please feel free to contribute to this repository with shiny examples, packages and functionalities that may be useful when using Shiny as an AMS.
If not sure about how to make a contribution, here is a tutorial that explains how to contribute to a github project: LINK
Thanks for your contribution!