srobins259 / internetsystemsdevelopment Goto Github PK
View Code? Open in Web Editor NEWthis is to test source tree
License: MIT License
this is to test source tree
License: MIT License
I found a couple spots in the installation process where I think you could lose people who are trying to install.
I was able to get the UI up and running pretty easily since I had a lot of experience with working on a fork of ghdata for our project, but I think that cleaning up these pieces would help out newcomers a lot.
I would recommend moving the rating buttons below each graph. Right now it is not really clear which ratings buttons go with each graph. Moving the buttons below each graph would make it more clear to the users I think.
Finally got the better install of ghdata
Commands are
git clone {repolink}
sudo pip3 install -upgrade .
ghdata
{edit config file}
ghdata
Graphs populated. Moving on to merging content.
I noticed that you used AngularJS in classifier.js file but did not use it consistently. I think that it would be beneficial to use angular to make your api calls as well. To do this you would simply create an Angular service that makes requests to the ghdata endpoints and then your Angular controller uses the service to pull in the data to bind to the front end. I think this would give the frontend a more consistent structure and would allow others to better understand what is going on.
I think it would be a good addition to be able to change the date range that is displayed in the graphs. This could easily be done with D3 on the front-end. Right now the graphs are displaying so much data that it could be hard to pull valuable insights from them.
The Development branch has not been updated or used since the beginning of the project. This is fine for a short class project, but it would be good practice to update and use the Development branch for a change or two.
The Healthy indicator that shows for every repo should either be removed or wired up to the buttons for the graphs so that it actually means something.
A few comments on your repo:
As discussed during your milestone 3 presentation, it would be really useful if the app saved or exported user selections. This would make using the page more convenient since you would not have to re-click the buttons every time you reload the page. It would also be useful for future neural network or data mining projects.
The classifier.js file is nice, but I was wondering if you could refactor it so that there is one function that executes something like $scope.{metric name}Style.colorClass = {color};
? That way, the specific functions only have to make a call to that one function instead of writing that line every time. For example, commitsGreen
would now be something like return setColorClass("commits", "green");
This could make adding new metrics to the page slightly less painful, and I'm sure there is an even better way to make this code more scalable, but this was just something I noticed.
I think spelling out how the testing in your application works would be a huge improvement to your README, or maybe even a new document of its own. It seems fairly straightforward at first glance, but an explanation on what the files in the test folder are used for as opposed to test_scripts.js in scripts would help get future contributors up to speed a lot faster I think.
Also, I had some trouble figuring out your test.html page (please add a little section explaining how to reach that, it is not clear at all). First, it isn't entirely clear that you are supposed to "prime" the page with an owner and repo (I think that's the intent?). Also, should clicking the Jasmine links at the bottom of the page actually update the UI, or are they just for running individual tests? I couldn't figure out what they were used for.
I would recommend increasing the size of the graphs to show 1 or 2 graphs per row. Right now they are just way to small to easily analyze. Doing so would also allow people to easily focus on one metric at a time instead of seeing everything.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.