GithubHelp home page GithubHelp logo

jrtechs / github-graphs Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 8.0 30.71 MB

Website for visualizing a persons github network.

Home Page: https://github-graphs.com

License: Mozilla Public License 2.0

JavaScript 95.83% CSS 1.87% HTML 2.25% Shell 0.01% Dockerfile 0.04%

github-graphs's Introduction

github-graphs's People

Contributors

axn5966 avatar cetaceannation avatar felipebrunetti94 avatar jrtechs avatar kevinassogba avatar lang-eric avatar pepas24 avatar petermorgandev avatar soroushahrari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

github-graphs's Issues

Link Issue on Profile

When people have URLs in their Github profiles, unless they include "http" or "https", the link is considered relative to local to github-graphs.com.

oops

2

People you may know

Add a table to the friends' graph (or elsewhere) for people that you might know. This can be ranked by the number of your friends that you are friends with someone that you are not currently following (mutual friends).

-- "Friends" is a loose term to refer to someone that is either following or followed by someone.

Blank Diagram

Repository Page

I want to look into what data we can pull from the GitHub API on repositories and user activity. The goal of this issue is to determine what endpoints we could use to generate metrics such as:

  • contributions over time
  • issues opened/closed
  • query user activity on repositories

This issue can be closed once we have a clear plan of attack for what graphs we can generate with specific endpoints.

Improve Performance of Friends Graph

We want to better utilize how we are caching things on the backend for the friends of friends graph. The JSON that the GitHub API returns has a ton of URL's that are either redundant or unnecessary for this project. I also want to reduce the number of calls between the front end and the backend GitHub proxy server.

Screenshot_2019-12-26_13-29-35

Link Orgs on Profiles to Org View

Currently, the organizations listed under a person profile is linked to GitHub, we should link them to our organizational view instead.

exx

Docker Script

Create a docker run script for this node project.

Collect Feedback to Determine What Enhancements to Work On

Currently this project is just scratching the surface of what we can do with the data from the github API. Moving this project forward, I want to see what other cool visualizations we can make to help open source communities. If anyone has ideas or suggestions feel free to drop them in this issue.

Upgrade vis.js Version

Since vis.js split apart into smaller communities a few months ago, we should update the version that we are currently using. This will make it easier to upgrade to newer versions in the future. Due to the split, we will have to update the timeline and network components separately moving into the future.

We are currently using vis.js version 4.20.0 which was published in May of 2017.

The current version is 6.5.0
https://github.com/visjs/vis-timeline
https://github.com/visjs/vis-network

This should just be a matter of updating the files in:
https://github.com/jrtechs/github-graphs/tree/master/public/js/vis
however, we will have to do some testing to make sure that nothing broke before we push to production.

Update README

Update readme with some missing information needed to run this project for the first time.

Website Facelift

I'm looking for any reasonable website page redesigns that improve appearance. Things that help accessibility, and mobile layout would be nice. I don't want people to entirely re-design the website in react or another JS framework. Simply modifying the vanilla HTML and bootstrap code would be enough.

Not all Repositories getting listed

Right now only 30 repositories for a user are getting displayed for the timeline graph. We need to use the API pagination to get the full list of repositories. This will get fixed by adding a custom endpoint for fetching all the repositories for a user. While doing this we can limit the size of the cache by cutting the amount of json properties being stored.

Ex: Flory has 57+ repositories but only 30 are appearing on the timeline.
https://github-graphs.com/TimeLineGraph.html?name=jwflory

API Documentation

We should document how our internal API is working and what API endpoints we are using from github.

Cache Consistency

We need to fix the bug related to consistency between the cached response and the Github profile after removal or deletion of an existing connection.

Make contributing easier

It would be nice if we could make working on this project easier.
Things to do:

  • write more docs on how to get involved
  • possibly create some form of chat channel for development discussion
  • make more constructive issues with plenty of details for people to work on

General Information API Performance Improvement

Currently, there are a few queries needed to generate a profile preview. It would be nice if we could gather all the information needed to make the profile view sidebar in a single query to our server. In the process of doing this, we could minimize the JSON properties being stored.

Github Rate Throttle

Occasionally when generating a large profile(like this one), GitHub will send a 403 in response. Currently, our API just ignores one and sends an empty list, but doesn't store it in the cache.

To fix this issue we will probably have to start to throttle how fast we are making queries for large profiles when we get a 403 we just wait for a second or two and try again. In their documentation we are allowed 5000 queries per hour.

We should also start logging how many queries we make to GitHub so that we can figure out if we are approaching the limit.

Ways to get more queries:

  • We could use the client to make some queries that we don't have on our behalf and send the responses back to the server for caching (we could then sample these queries to make sure they are valid). This would help supplement our cause because every potential user has 60 queries that they can make.
  • For larger more intensive graphs we decide to make in the future (stuff to do with user/repository events), we may have to have the user authenticate with our application so the requests are associated with their account.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.