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

https://github.com/josedv82/shinyAMS-resources

A compilation of resources for sport scientist building Athlete Management Tools in Shiny
https://github.com/josedv82/shinyAMS-resources

ams athlete shinyapps sport sports-analytics

Last synced: 4 months ago
JSON representation

A compilation of resources for sport scientist building Athlete Management Tools in Shiny

Awesome Lists containing this project

README

        

# Building Shiny Athlete Management Tools
### A compilation of resources for Sport Scientists using Shiny to build athlete management tools.
##### Jose Fernandez
---

### **Intro**

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.

### About this document

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](https://shiny.rstudio.com/) 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](https://www.r-project.org/about.html) 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](https://mastering-shiny.org/) 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)](https://en.wikipedia.org/wiki/User_interface) 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](mailto:[email protected]) or through my [twitter](https://twitter.com/jfernandez__) 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.

### 1. **Dashboarding**
##### 1.1 Basic Shiny
- [Learning Materials](https://shiny.rstudio.com/tutorial/)

##### 1.2 Shinydashboard
- [Expands dashboarding functionality](https://rstudio.github.io/shinydashboard/index.html)

##### 1.3 Html Templates
- [Rinterface](https://rinterface.com/) + [shinyDashboardPlus Example](https://josedv.shinyapps.io/NBASchedule/)
- [Shiny Semantic](https://github.com/Appsilon/shiny.semantic)
- [Shiny Fluent](https://appsilon.github.io/shiny.fluent/)

##### 1.4 Mobile Devices
- [shinyMobile](https://rinterface.github.io/shinyMobile/index.html)
- [MiniUI](https://github.com/rstudio/miniUI)

### 2. **Theming**
- [ShinyThemes](https://rstudio.github.io/shinythemes/)
- [Dashboardthemes](https://github.com/nik01010/dashboardthemes)
- [Fresh](https://github.com/dreamRs/fresh)
- [shinyMaterial](https://ericrayanderson.github.io/shinymaterial/)
- [bootstraplib](https://rstudio.github.io/bootstraplib/)
- [thematic](https://rstudio.github.io/thematic/articles/auto.html)
- [bslib](https://rstudio.github.io/bslib/)
- [shinybootstrap2](https://cran.r-project.org/web/packages/shinybootstrap2/README.html)
- [shinyBS](https://ebailey78.github.io/shinyBS/)
- [shinyPanels](https://github.com/datasketch/shinypanels)

### 3. **Showing Data**
##### 3.1 Static Plots
- [Base R](https://rstudio-pubs-static.s3.amazonaws.com/7953_4e3efd5b9415444ca065b1167862c349.html) + [base themes](https://github.com/karoliskoncevicius/basetheme)
- [Ggplot2](https://ggplot2.tidyverse.org/)
- [Patchwork](https://github.com/thomasp85/patchwork)

##### 3.2 Interactive Plots
- [Plotly](https://plotly.com/r/)
- [Echarts4R](https://echarts4r.john-coene.com/)
- [sparkline](https://github.com/htmlwidgets/sparkline)
- [peity](https://github.com/JohnCoene/peity)
- [dataui](https://timelyportfolio.github.io/dataui/index.html)
- [shinydlplot](https://cran.r-project.org/web/packages/shinydlplot/readme/README.html)
- [shinyHeatmaply](https://github.com/yonicd/shinyHeatmaply)

##### 3.3 Mobile Charts
- [mobileCharts](https://shiny.john-coene.com/mobileCharts/)

##### 3.4 Tables
- [Gt](https://gt.rstudio.com/)
- [DT](https://rstudio.github.io/DT/)
- [Formattable](http://renkun-ken.github.io/formattable/)
- [Flextable](https://davidgohel.github.io/flextable/)
- [Reacttable](https://glin.github.io/reactable/) + [my example](https://github.com/josedv82/ReactTable-Shiny)
- [reactablefmtr](https://github.com/kcuilla/reactablefmtr)
- [Graphical Tables](https://pdfs.semanticscholar.org/76a0/c9984d656592f2979569e895333de21464bb.pdf?_ga=2.39740005.714811824.1593711014-2057169377.1593711014) + [my example](https://github.com/josedv82/graphicalDT)

##### 3.5 Editable Tables
- via [DT](https://blog.rstudio.com/2018/03/29/dt-0-4/)
- [DTedit](https://github.com/jbryer/DTedit) + [my example](https://josedv.shinyapps.io/bball_event_tracker/)
- [DataEditR](https://dillonhammill.github.io/DataEditR/)
- [RhandsonTable](https://cran.r-project.org/web/packages/rhandsontable/vignettes/intro_rhandsontable.html)

##### 3.6 Pivot Tables
- [pivottabler](http://www.pivottabler.org.uk/articles/)
- [rpivotTable](https://github.com/smartinsightsfromdata/rpivotTable)
- [pivta](https://github.com/feddelegrand7/pivta)

### 4. **Notifications / Alerts / User Feedback**
##### 4.1 Basic Shiny
- [Basic Notifications](https://shiny.rstudio.com/articles/notifications.html)
- [Modals](https://shiny.rstudio.com/articles/modal-dialogs.html)

##### 4.2 Via package
- [ShinyAlert](https://github.com/daattali/shinyalert)
- [Toastr](https://github.com/MangoTheCat/shinytoastr)
- [shinyTostify](https://github.com/stla/shinyToastify)
- [sweetAlert](http://shinyapps.dreamrs.fr/shinyWidgets/) (via shinyWidgets)
- [shinyFeedback](https://github.com/merlinoa/shinyFeedback)
- [shinyPop](https://github.com/dreamRs/shinypop)
- [shinyhelper](https://github.com/cwthom/shinyhelper)
- [shinyhttr](https://github.com/curso-r/shinyhttr)

##### 4.3 Push Notes to athlete's mobile phones
- [Pushover](https://cran.r-project.org/web/packages/pushoverr/pushoverr.pdf) + [my example](https://github.com/josedv82/Push_Notes_to_Athlete)
- [Pushbullet](https://cran.r-project.org/web/packages/RPushbullet/index.html)
- [slackR](https://github.com/hrbrmstr/slackr)
- [Twilio](https://github.com/seankross/twilio)

### 5. **Forms**
- Form Code example (to do)
- [shinyForms](https://github.com/daattali/shinyforms)
- [shinyreforms](https://piotrbajger.github.io/shinyreforms/articles/tutorial.html)
- [FAQ Section](https://github.com/jienagu/faq)
- [shinySurveys](https://github.com/jdtrat/shinysurveys)

### 6. **User Inputs**
- [Basic inputs](https://shiny.rstudio.com/tutorial/written-tutorial/lesson3/)
- [shinyWidgets](http://shinyapps.dreamrs.fr/shinyWidgets/)
- [shinyBody](https://github.com/MayaGans/shinyBody)
- [DT Editable Input](https://github.com/jienagu/DT_editable_as_shiny_input)
- [shinyRatingInput](https://github.com/stefanwilhelm/ShinyRatingInput)
- [shinyReactWidgets](https://github.com/pvictor/shinyReactWidgets)
- [shinyChakraSlider](https://github.com/stla/shinyChakraSlider)
- [shinyfilter](https://github.com/jsugarelli/shinyfilter/)
- [shinyGovstyle](https://github.com/moj-analytical-services/shinyGovstyle)
- [shinyKnobs](https://github.com/cotepat/shinyKnobs)
- [shinyMatrix](https://cran.r-project.org/web/packages/shinyMatrix/readme/README.html)
- [shinyNotes](https://github.com/danielkovtun/shinyNotes)
- [shinyRadioMatrix](https://cran.r-project.org/web/packages/shinyRadioMatrix/readme/README.html)
- [shinyTime](https://burgerga.github.io/shinyTime/)

### 7. **Loaders**
- [shinyCSSLoaders](https://github.com/daattali/shinycssloaders)
- [shinyCustomLoader](https://emitanaka.org/shinycustomloader/)
- [shinyBusy](https://dreamrs.github.io/shinybusy/)
- [Waiter](https://waiter.john-coene.com/#/)

### 8. **Icons**
- [Fontawesome](https://fontawesome.com/)
- [Glyphicon](https://getbootstrap.com/docs/3.3/components/)
- [icongram](https://github.com/r4fun/icongram)
- [Use your own image](https://gist.github.com/hrbrmstr/605e62c5bf6deadf304d80cf4b1f0239) (example)

### 9. **Calendars**
- [tuicalendr](https://github.com/dreamRs/tuicalendr)
- [calendR](https://github.com/R-CoderDotCom/calendR)
- [toastui](https://dreamrs.github.io/toastui/)

### 10. **Error Messages**
- [Basic Sanitizing](https://shiny.rstudio.com/articles/sanitize-errors.html)
- [via Validation](https://shiny.rstudio.com/articles/validation.html)
- [via CSS (supress errors)](https://stackoverflow.com/questions/24652658/suppress-warning-message-in-r-console-of-shiny)
- [sever (via cleave)](https://sever.john-coene.com/cleave/)
- [shinyValidate](https://github.com/rstudio/shinyvalidate)

### 11. **Expanded Functionalities**
- [ShinyJS](https://deanattali.com/shinyjs/)
- [pushBar](https://github.com/JohnCoene/pushbar)
- [Effects](https://github.com/RinteRface/shinyEffects)
- [shinyjqui](https://github.com/Yang-Tang/shinyjqui)
- [fabricerin](https://github.com/feddelegrand7/fabricerin)
- [shinyScroll](https://github.com/JohnCoene/shinyscroll)
- [prompter (tooltips)](https://github.com/etiennebacher/prompter)
- [Brochure](https://colinfay.me/brochure-r-package/)
- [Shiny React](https://github.com/Appsilon/shiny.react)
- [shinyGlide](https://juba.github.io/shinyglide/)
- [shiny.i18n](https://github.com/Appsilon/shiny.i18n)
- [shinyanimate](https://github.com/Swechhya/shinyanimate)
- [shinyBusy](https://github.com/dreamRs/shinybusy)
- [shinyChakraUI](https://github.com/stla/shinyChakraUI)
- [shinyDND](https://ayayron.shinyapps.io/dragndrop/)
- [shinyfullscreen](https://github.com/etiennebacher/shinyfullscreen)
- [shinyscreenshot](https://github.com/daattali/shinyscreenshot)

### 12. **File Access**
- [shinyFiles](https://github.com/thomasp85/shinyFiles)
- [shinyDrive](https://cran.r-project.org/web/packages/shinydrive/readme/README.html)
- [shinyTree](https://github.com/shinyTree/shinyTree)

### 13. **Big AMS**
- [Modules](https://shiny.rstudio.com/articles/modules.html)

### 14. **User Authentication**
- [firebase](https://github.com/JohnCoene/firebase)
- [shinyauthr](https://github.com/PaulC91/shinyauthr)
- [shinymanager](https://datastorm-open.github.io/shinymanager/)
- [polished](https://polished.tech/)
- [shiny.reglog](https://cran.r-project.org/web/packages/shiny.reglog/readme/README.html)

### 15. **Landing Pages / App Reloading Screen**
- [sever](https://sever.john-coene.com/)
- [shinyDisconnect](https://github.com/daattali/shinydisconnect)
- [shinyLP](https://github.com/jasdumas/shinyLP)

### 16. **App Tutorials / Tours**
- [Cicerone](https://github.com/JohnCoene/cicerone)
- [introJS](https://github.com/carlganz/rintrojs)

### 17. **Emailing**
- [Native tutorial](https://www.r-bloggers.com/download-and-email-reports-in-r-shiny-app/)
- [mailtoR](https://github.com/feddelegrand7/mailtoR)

### 18. **Exporting Options**
- [Download any type of report](https://www.r-bloggers.com/download-and-email-reports-in-r-shiny-app/)
- [another example](https://shiny.rstudio.com/articles/generating-reports.html)
- [Exporting user notes](https://github.com/jienagu/noteMD)

### 19. **Images**

- [shinyGallery](https://github.com/stefanieschneider/shinygallery)
- [shinyImage](https://cran.r-project.org/web/packages/ShinyImage/README.html)

### 20. **Object Serialization (Reading/Saving Data)**

- [fst](https://www.fstpackage.org/)
- [feather](https://blog.rstudio.com/2016/03/29/feather/)
- [arrow](https://arrow.apache.org/docs/r/)
- [qs](https://github.com/traversc/qs)

### 21. **Shiny Community Resources**

- [Shiny Gallery User Showcase](https://shiny.rstudio.com/gallery/#user-showcase)
- [Shiny Developer Series](https://shinydevseries.com)
- [Engineering Production-Grade Shiny Apps](https://engineering-shiny.org/)
- [Mastering Shiny](https://mastering-shiny.org/)
- [Outstanding Shiny User Interfaces](https://unleash-shiny.rinterface.com/index.html)



## Final notes:

This document is an extension of a previous [Twitter thread](https://twitter.com/jfernandez__/status/1197909220890480640)

## Contribute:

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](https://github.com/MarcDiethelm/contributing/blob/master/README.md)

Thanks for your contribution!