The Shiny Developer Series continues our spotlight on the COVID-19 Test Spotter application created by renowned data scientist and entrepreneur Mike Thomas! In this episode we learn how Mike implemented robust database techniques and logic to manage user-supplied data, navigating the use of multiple mapping APIs, and achieving a practical development-to-production strategy for releasing the application to the public. Plus we have a great discussion on what production means in the space of Shiny development, and much more.
Resources mentioned in the episode
- COVID-19 At-Home Test Spotter (App) - ketchbrookanalytics.shinyapps.io/covid_test_spotter
- COVID-19 At-Home Test Spotter (Code) - github.com/ketchbrookanalytics/covid_test_spotter
- App blog post - www.ketchbrookanalytics.com/post/ketchbrook-analytics-launches-website-to-help-connecticut-residents-find-covid-19-test-kits
- {googleWay} Shiny vignette - symbolixau.github.io/googleway/articles/googleway-vignette.html#shiny
- {mongolite} user manual - jeroen.github.io/mongolite
- {reactable} Interactive data tables for R - glin.github.io/reactable
Episode Timestamps
00:00:00 Episode Introduction
00:00:46 CRUD workflow and flowchart, with MongoDB database updates
00:09:41 Diving into the Google Maps and Places API
00:15:55 Geographic fencing, and dealing with unexpected user behavior.
00:22:35 Deploying with a dev and production branch.
00:28:15 Future plans for the app
00:30:50 Advice for building Shiny apps in production
00:31:20 Production apps is all about reproducibility: OS, dependencies, and the code.
00:33:15 Pay attention to warning messages in your console.
00:34:22 Modularization and Golem
00:38:08 You can have too much reactivity, such as overextending uiOutput() / renderUI()
00:40:10 Episode wrapup
shinydevseries::session_info()
π½ Find previous interviews at https://shinydevseries.com
π Feedback is more than welcome! Please send your comments or suggestions on our contact form at shinydevseries.com/contact
If you enjoyed this video or got value from it, then consider dropping something in the tip jar. Any money raised will be used to improve the channel and invest in additional equipment and resources to make the content even better!
π° https://bit.ly/sdstip
π¨ Help shape the future direction of the Shiny Developer Series live streams by completing this very short survey
Media production for the Shiny Developer Series is made possible by these outstanding projects and platforms:
- OBS Studio: https://obsproject.com/
- OBS Fully Loaded install script by Martin Wimpress: https://github.com/wimpysworld/obs-fully-loaded
- VDO Ninja: https://vdo.ninja
- StreamElements: https://streamelements.com
- ShotCut: https://shotcut.org/
- Pop@_OS by System76: https://pop.system76.com/
- Ubuntu: https://ubuntu.com/