Re-work of GitDiscoverer
Authors: Raj Kumar
Working with Shiny more than 1 year
Abstract: An app to discover trending repositories, trending developers and popular projects in ML/DL on Github
Full Description:
Quick Overview
This project is re-work of old version of gitdiscoverer which is the first shiny web app I built as part of Rstudio Shiny Contest 2019. Idea of re-building this to try out skills I learned over past year. I have improved my front-end skills which I'm putting in to use here and added few features which might be useful for end users.
What's new?
- Browse Popular Machine Learning and Deep Learning (ML/DL) Projects on Github
- Topic Tags (Available in Trending Repositories, Popular Projects tabs)
- Dynamically Rendering Info in Bootstrap cards component
- Sort By Trend, Stars, and Forks
- Disconnect screen for Shiny Server
Architecture
REST APIs
- Github Official Developer API
- Github Unofficial Trending API
- Trending Repositories
- Trending Developers
Instructions
In order to run this app, Github provides REST API access to get variety of the data of your projects at Github. Since we are only interested in publicly available data. We will Authenticate with OAuth 2.0 which is the most secure option.
In order to use OAuth option, you need Client ID and Client Secret. If you don’t have them yet, go to
- Github Developers settings page , then Oauth Applications
- Register a new Application say
Application Name: Rstudio Shiny Contest 2020
Homepage URL : http://github.com
Application description : Rstudio Shiny Contest 2020
Authorization callback URL : http://localhost:1410
On this page, you should be able to see Client key and Client Secret. Once you have the keys put them in global.R of this Shiny App and make sure you have active internet connection and you're all set to run GitDiscoverer.
Reproducibility at RstudioCloud Server
In order to reproduce this app at rstudio cloud server, you will need to generate oauth tokens. In my case, I was getting an error which says bad credentials and error in callback url
was error in uri redirect mismatch. Please follow the instructions at rstudio support link
There are few steps to try on the ticket, but the one which worked for me on rstudio cloud server:
Create the .httr-oauth token on your desktop and then copy the file to a server
Add your credentials to 00_Scripts/git_functions.R and you're good to go
app <- oauth_app(appname = "Rshinycontest",
key = "*****************",
secret = "*****************")
App Workflow
Tab 1 - Trending Repositories
Tab 2 - Trending Developers
Tab 3 - Popular Projects
Disconnected Screen for shiny Server
Credits
- Unsplash: Jumbotron Image
- Shiny CheatSheet
- This artcile helped me Kdnuggets: Trending Top Deep Learning Repositories in building popular projects tab.
- Mastering Shiny By Hadley Wickham
- For Loading screens - John-coene R waiter package
- Shiny disconnected screen using John Coene R Sever package
Category: Technology
Keywords: shiny,bootstrap,shiny-contest-2020
Shiny app: https://rajkstats.shinyapps.io/git_discoverer_app/
Repo: GitHub - rajkstats/git_discoverer_app: What's trending in data science space
RStudio Cloud: Posit Cloud
Thumbnail:
Full image: