Re-work of GitDiscoverer - 2020 Shiny Contest Submission

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

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

  1. Github Developers settings page , then Oauth Applications
  2. 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.

More Detailed Explanation to Generate Keys at this Link

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


Category: Technology
Keywords: shiny,bootstrap,shiny-contest-2020
Shiny app: https://rajkstats.shinyapps.io/git_discoverer_app/
Repo: https://github.com/rajkstats/git_discoverer_app
RStudio Cloud: https://rstudio.cloud/project/1075311

Thumbnail:


Full image:

1 Like