Giter VIP home page Giter VIP logo

ghuls-deprecated's People

Contributors

altreus avatar bjb568 avatar elifoster avatar thomas-daniels avatar waffle-iron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ghuls-deprecated's Issues

Get random user

There should be an option, in both CLI and the web app, to get a random user's data.

In CLI, it should be a new option called -r, with no parameters (like -h).
In web, it should just be a button at the bottom of each page.

Ruby rewrite

I should rewrite the entire thing as Ruby code. This would involve creating a Ruby on Rails application, and a command line application.

GUI

  • Separate auth/login window
    • Asks if you want to login or use an auth code. Then the window will change to have according text and fields.
  • Username search box
  • pie chart

Auth codes

Allow auth codes to be used for the API authorization.

Require user to sign in first

Since I'm not packaging my secure.txt file with the app, I need to have the user log into the GitHub API first and use their credentials to get more possible API requests. I should also allow them to use an auth code instead.

Can't go back

Once the program is run once, it cannot be restarted.

Library

I was wondering what you thought about separating the bulk of the code off into a separate gem, say ghuls-lib and thus people could use it as a library of it's own?

Null errors

The chart errors occasionally with "a is null" or "null is not an object" errors. My guess is that this would be related to users having repositories that do not have languages defined by linguist. The two users I have seen this happen for are: ProgramFOX and Strikingwolf. It might also be because these users are too pro for GHULS.

Hideous on mobile

The web app is disgustingly hideous on mobile. I should create a mobile version of the app that uses custom CSS for mobile.

Delete JSONs

JSONs stick around endlessly. They should be deleted as soon as the GUI gets the data and pies it.

Organizations

The user should be able to select Organizations to include in the calculation.

require_relative cannot load such file

It looks in the wrong directory for the utilities module. This should be a pretty easy fix. The problem is that it looks in the current working directory, so it only works if you are in the GHULS dir. It should look relatively to the gem directory, rather than relatively to the current directory.

Progress bar

To let the user know that it is actually working, there should be a progress bar. I believe I would have to use JavaScript for the web application's progress bar, which is a bummer, but I know there are CLI progress bar gems.

  • CLI
  • Web

Code Bloat and misleading data

Something I've noticed while looking at some different analyzations is that code bloat from languages such as Java (where LOC per action is higher than say Ruby or something else) cause the graph to be skewed in their favor. I would propose having a weighted graph along with the non-weighted one which balances out the languages using some "expressivity factor", I'm not sure if you would have to come up with these yourself or if there may be some real comparison site you can use, but it would be a nice feature to add.

Basic stuff

This issue serves the purpose of a basic list for things that need to get done in order to get the data I need. I will continue to add things to this list as I find them, then eventually turn it into a checklist.

  1. Use the GitHub search API to get all repositories from that user. Unfortunately this is the only way to get the most general information, but will exclude all repositories that the user contributes to that are NOT under their username. It also excludes their organizations. I'm sure there's something that can be done to avoid this, but I still have a lot of research to do in the GH API.
  2. Get info from the Repos API, using repos/username/repositoryname/languages. This will give the number of bytes per language that that repo uses. Do this for all repositories that the user has.

Use Net::GitHub::V3 (Net::GitHub::V3::Users)(Net::GitHub::V3::Repos) instead of the web interface for the API.

Checklist:

  • Get repo list
  • Get language data for each repo
  • Option to ignore forks --- (Probably) temp removed.
  • Calculate data into totals
  • Calculate data into percentages

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.