Shiny Scorekeeper is a basketball scorekeeper app that I built with the Shiny web framework for R. This is a hobby project that I started in the fall of 2018. I was using a free iPhone app for scoring my son’s basketball game films and then entering the tallies from the app into a Google spreadsheet. The app only allowed for recording stats for one player and I thought it would be interesting to compile stats on the whole team. I also wanted to avoid manual entry into a spreadsheet. There is no shortage of basketball scorekeeper apps in the world but, rather than search for the best app, I decided to embark on building my own app with R and Shiny. I’ve built numerous Shiny apps but never one quite like this. I’ve used the app to score 38 of my son’s games and plan to continue to use it. It’s quite empowering to build a tool tailored to your uses.
- Adding an empty row that is editable. Currently, adding new rows includes placeholder values.
- Displaying a column that is not editable. For example, the PlayerID column is hidden to keep users from trying to edit it. However, showing the PlayerID might make it more obvious how players are linked to different teams.
- Adding mechanisms to import and export data. If Shiny Scorekeeper was packaged as a standalone desktop application, then the option to import and export data becomes more important than if using Shiny Scorekeeper through R directly because the data folder is easily accessible. Similarly, a standalone desktop app should also provide the option to edit game data from within the app.
- Tracking minutes played for calculating stats on a per minute basis.
- Presenting confirmation message when trying to close app with unsaved changes.
- Including win-loss record in team-level summary statistics.
- Obviously, this is an equally valid type of learning experience. Just not the one that I pursued here. ^