From cc9910185b6880aedabb83396071967da10a7e0a Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 7 Mar 2020 18:13:17 -0500 Subject: [PATCH] ReactNative project evaluation --- .DS_Store | Bin 0 -> 6148 bytes Hub_evaluation.md | 222 ++++++++++++++++++++++++++++++ ReactNative_evaluation.md | 279 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 501 insertions(+) create mode 100644 .DS_Store create mode 100644 Hub_evaluation.md create mode 100644 ReactNative_evaluation.md diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4ab48d6c7f90564080f6231bc50e1776468ff349 GIT binary patch literal 6148 zcmeHKyG{Z@6g{IPiWZO$95Y z#T+hq*}@g`uOs3bT8I``Z{C+?S1f-qxsrURD`THxb@ViwN91xsUn9nr-HG{|;hHQ= zR`|}@Bb#N~Yl+sf(@*r)qrWzJ9oYTPv;JCIW05->;T#R-5#@0R+0}GBHdWS=0p8gn z+q(|6R0fm*W#E?qIUfS5VCXS%XpasS_6a~Nu-gjj^2b1I0*|4`#34s0#+eeGsqs$? z+AaurvoRyY<&g&2BF9I}U^e*`QI KS||g5%D@lBI-}wM literal 0 HcmV?d00001 diff --git a/Hub_evaluation.md b/Hub_evaluation.md new file mode 100644 index 0000000..a0cc466 --- /dev/null +++ b/Hub_evaluation.md @@ -0,0 +1,222 @@ +# Project Name: Hub + + + +**Evaluating Person or Team**: + +Daniel Sing | Pallof +--- + +## Project Data + +1. Project description:
+ + Hub is a commandline tool that wrap 'git' in order to extend extra features/commands that make it easier to + work with git. Basically command add ons and extra functionality on pre-existing commands. + +1. Project website/homepage: + + https://github.com/github/hub + https://hub.github.com/hub.1.html + This is both the actual gitHub repository and the actual website + +1. Project repository: + + https://github.com/github/hub/tree/master/git + They have multiple repositories, but this one looks like the foundation b/c ist is referring to Git itself and implementing the features here + + +## License + +1. What is the project's license?
+ + They are using an MIT license. Very straight forward and simple + + + +## Code Base + + +1. What is the primary programming language in the project? + +The majority of the code is written in Go (49.3%) and Gherkin (39.6%) +Then there are smalls chunks of shell, ruby and makeFile/batchFile (4%) + +1. What is the development environment?
+ + Does not specify the developement environment. But it says that in order to contribute you will need: Go 1.11+, Ruby 1.9+ with Bundler, git 1.8+, tmux & zsh(optional) for running shell completion tests + + +1. Are there instructions for how to download, build, and install? How easy is it +to find them? Do they seem easy (relatively speaking) to follow?
+ + Hub has no dependencies so it is executable on all platforms. It is reccomended however to have at least git version 1.7.3. Installation instruction are found on the readme.md and are very detailed and walk you step by step on how to properly install Hub. + One dependency it has is 'Go Mod'. + +1. Does the project depend on external additional software modules such as +database, graphics, web development, or other libraries? If so, are there clear instructions on how to install those?
+ + No it does not, it can be as a standalone. Aside from the language and packages needed in order to contribute, it does not specify any external software modules needed. + + +1. Is the code easy to understand? Browse some source code files and make +a judgment based on your random sample.
+ + Code seems somewhat straight forward, with function naming and how its coded. Little to no comments on a lot of the code, which can make it confusing as to what I'm reading. They should add more comments and documention on what they are writing + +1. Is this a big project? If you can, find out about how many lines of code +are in it, perhaps on [OpenHub](https://www.openhub.net/).
+ + Cannot find this exact project on Openhub.net as 'Hub' is a very vauge name and hundreds of other groups have used the word 'Hub' in their naming configuration. This seems like a somewhat large project, with an estimate ok 2k+ lines of code. + +1. Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?
+ There are a few tests, but I am not sure if these tests cover everything. There is a document in which it talks about writing tests and gives a brief guideline as how to write them. + + +## Code and Design Documentation +1. Is there clear documentation in the code itself?
+ + I do not think there is documentation on the code itself. But there is documentation on the features, and explains exactly what they are designed to do. This is potentially refer to the code, but I can't find documentation on the code. + +1. Is there documentation about the design?
+ + Not so much the design but rather the features and excess add ons and describes what they are doing and how they should be used. + +## Activity Level + + +1. How many commits have been made in the past week?
+ + 2 + +1. When was the most recent commit?
+ + 8 hours ago on March 3rd, 2020 + +1. How many issues are currently open?
+ + 183 issues are currently open + +1. How long do issues stay open?
+ + Some issues take only 2-3 days while some issues took up to 6-7 days. On average the issues only stayed open around around 4-6 days + +1. Read the conversations from some open and some closed issues. Is there active discussion on the issues?
+ + Yes, mainly by one contributor by the name of mislav. + +1. Are issues tagged as easy, hard, for beginners, etc.?
+ They are not rather they are labeled by 'feature', 'bug', or 'docs' + +1. How many issues were closed in the past six months?
+ Around 75-80 issues were closed in the past six months + +1. Is there information about how many people are maintaining the project?
+ + Only specifies the creator of the project. Does not specify anyone else. + Shows a list of who has the most commits to this project + +1. How many contributors has the project had in the past six months?
+ + 211 contributors in the past 6 months + +1. How many open pull requests are there?
+ + There are 40 open pull requests + +1. Do pull requests remain un-answered for a long time?
+ + Some of them have remained open for almost two years. + +1. Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?
+ + The creator is quite active in all the pull requests however not all pull requests are pulled. Some requests cannot be completed, while others may have been forgotten + +1. How many pull requests were opened within the past six months?
+ + Around 30 pull requests were opened and merged within the past 6 months + + +1. When was the last pull request merged?
+ + March 3rd, 2020 + +## Welcomeness and Community + +1. Is there a CONTRIBUTING document? If so, how easy to read and understand is it? +Look through it and see if it is clear and thorough.
+ + There is a contributing document. Fairly easy to understand, but I don't think it is very friendly towards newbies and begginners trying to get their foot in the door. Talks about what to download and thing that you might consider adding and how to create/use tests. + +1. Is there a CODE OF CONDUCT document? Does it have consequences for acts that +violate it?
+ + There is a code of conduct doc. If you don't follow the rules you will be removed and possibly permanently banned from the project. + +1. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.
+ Yes, Mislav the creator actively discusses in all the pull requests and issues. + I do not understand all of the lingo, but it is a well facilitated discussion. Many other contributors also post links that might be helpful as additional reference resources. + +1. Are people friendly in the issues, discussion forum, and chat?
+ I'm not sure if people are friendly, but people are respectful and do try to offer their opinions in a proper fashion. + +1. Do maintainers thank people for their contributions?
+ Most things seem quite bland, however there is the occasional 'Thank you' comment and post. + +## Development Environment Installation + +Install the development environment for the project on your system. +Describe the process that you needed to follow: + + There is no development environment. You only need to install the langauges. + Go to ruby and Go and follow instructions on how to install there. + +1. how involved was the process?
+ + +1. how long it take you?
+ +1. did you need to install additional packages or libraries?
+ +1. were you able to build the code following the instructions?
+ +1. did you need to look for additional help in installing the environment?
+ +1. any other comments?
+ + + + +## Summary +1. Do you think this is a project to which it would be possible to contribute +in the course of a few weeks before the end of this semester?
+ + In terms of documentation and possibly fixing some issues, yes but very minimally as I am I familiar with the language they use. + In terms of Code contribution, No because I don't know Go or Gherkin and learning it would be a whole new task. + +1. Would you be interested in contributing to this particular project?
+ + + Not particularily as I am still new to gitHub, so trying to get all fancy with new add ons would just make it more confusing when I already only understand very little. diff --git a/ReactNative_evaluation.md b/ReactNative_evaluation.md new file mode 100644 index 0000000..478566e --- /dev/null +++ b/ReactNative_evaluation.md @@ -0,0 +1,279 @@ +# Project Name: + + + +**Evaluating Person or Team**: + + +--- + +## Project Data + +1. Project description:
+ + + Purpose of this project is to enable user to code React and Javascript in mobile apps + with ease. Basically we can develop mobile apps with JS and React (framework). React + native is cross platformed so after development you can run on different platform such + as Ios, Andriod, and windows etc... + + +1. Project website/homepage: + https://reactnative.dev/ + + +1. Project repository: + https://github.com/facebook/react-native + + +## License + +1. What is the project's license?
+ + + Mit License + +## Code Base + + +1. What is the primary programming language in the project? + + Javascript(48%) + Java (20%) + C++ (13%) + Objective-C (10%) + etc... + +1. What is the development environment?
+ + Some form of coding environment, I would reccomend VSCode. + Must have javascript, i.e install node. + React Native CLI. + + +1. Are there instructions for how to download, build, and install? How easy is it +to find them? Do they seem easy (relatively speaking) to follow?
+ + Yes, they have a whole page on how to install and run react native. They show + explicit screenshots on what commands to run in terminal and how to execute + them. They tell you which client to run for which program. If you click on doc's + it will show a brief outline, but they have more in detail steps in the + "docs/tutorial" pages. + +1. Does the project depend on external additional software modules such as +database, graphics, web development, or other libraries? If so, are there clear instructions on how to install those?
+ + In terms of mobile developement, all you need to the latest version of Node.js. + And since this is for mobile developement, you need to make sure you have a mobile device + in of which you can run your application on. That also means you should have + XCode or Android Studio installed. + +1. Is the code easy to understand? Browse some source code files and make +a judgment based on your random sample.
+ + It is very hard to find where the code is, you have to literally scout the all the files. + The code is really hit or miss, certain parts have tons of documentation and lots of helpful + comments as to what they are trying to get at. Whereras other areas, it is a barren land, + with no documentation to be seen. The documention is truly helpful is grasping what the code + is actually doing. + +1. Is this a big project? If you can, find out about how many lines of code +are in it, perhaps on [OpenHub](https://www.openhub.net/).
+ + There is 413K lines of code. I'm not sure if this includes comments/documention + though. Might be less if it does. + +1. Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?
+ + Repository does contain tests. However, when contributing code, you must write you own tests. This might be bad, + because they don't go into specifics on how to write your own unit tests and just say the code must pass the tests. + I hope I did not interpret this wrong. + +## Code and Design Documentation +1. Is there clear documentation in the code itself?
+ + Certains parts there is a lot of documention telling you what each function does. However + there are certain snippets where no documentation is written. + +1. Is there documentation about the design?
+ + I had to google this, but all it led me to was the get-started page. + So I am going to so assume there is so SPECIFIC documentation which + talks about how react native is designed and how it was built. + +## Activity Level + + +1. How many commits have been made in the past week?
+ + Between 30-40 commits have been made. + +1. When was the most recent commit?
+ + 15 hours ago, on March 7th, 2020 + +1. How many issues are currently open?
+ + A total of 664 issues are open. + +1. How long do issues stay open?
+ + + On average about 8 days. However given how large the project is, some issues + may be extremely obscure or your issue post may go unseen. So I would say to + give it an extra 3-5 days for your issue to be answered. + +1. Read the conversations from some open and some closed issues. Is there active discussion on the issues?
+ + Some of the posts have actual users attempting to help isolate the problem. + However, a lot of the times, its just the reactNative bot posting a script + command and telling them to paste of the result of it. This is most likely due + to the sheer size of the project and many issues may go unseen. + +1. Are issues tagged as easy, hard, for beginners, etc.?
+ + Not all issues are tagged. However that being said there are very specific tags + in regards of what the problem is. For a few of the issues, there are tags that target + new learners saying its a good first issue and help is wanted. So if you were to look + at this project and try to contribute, I would try to cherry pick those issues. + +1. How many issues were closed in the past six months?
+ + 70 issues were closed in the past six months. + +1. Is there information about how many people are maintaining the project?
+ + There is a page that talks about partners, core, and community contributers. + But no specific page that links to whom is whom. + On the contributors page, it highlights who has + made many contributions. + +1. How many contributors has the project had in the past six months?
+ + Has had over 1000 contributors in the past 6 months. + +1. How many open pull requests are there?
+ + 85 pull requests. + +1. Do pull requests remain un-answered for a long time?
+ + + It take around 10-12 days for the average pull request to be merged. + In terms of time, this may not be a lot for a large project, but for students + this can be a lot. + +1. Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?
+ + Not a lot of helpful comments. Mostly, bots doing automated tests and a few people saying + thanks here and there. If you don't pass all the CLI tests, it will tell you + and mark it as red. + +1. How many pull requests were opened within the past six months?
+ + Over 100 pulls requests were opened within the past six months. + +1. When was the last pull request merged?
+ + 3 days ago. On March 4th. + +## Welcomeness and Community + +1. Is there a CONTRIBUTING document? If so, how easy to read and understand is it? +Look through it and see if it is clear and thorough.
+ + It is pretty detailed and it walks you through step by step on what you should try + to do. There are also links to the actual react native web page which tells you what + you need to download and install. + +1. Is there a CODE OF CONDUCT document? Does it have consequences for acts that +violate it?
+ + Yes there is a code of conduct. You risk getting banned/kicked/blacklisted + from the project if you break the rules and repeatedly break the rules. + +1. Do the maintainers respond helpfully to questions in issues? +Are responses generally constructive? Read the issue conversations.
+ + Not really, there are a few comments here and there. But a lot of the + post are somewhat barren. Mostly just bots commenting. There are a few pages + with actual helpful comments, but scarce. + +1. Are people friendly in the issues, discussion forum, and chat?
+ + People generally try to be friendly, however there does not seem to be + a mainstream form of communication. They have a slack channel, twitter, and + a whole page in regards to proposals. + +1. Do maintainers thank people for their contributions?
+ + Yes they do! They actually say thanks many times at each merge. + + +## Development Environment Installation + +Install the development environment for the project on your system. +Describe the process that you needed to follow: + +1. how involved was the process?
+ + Somewhat involved, just had to install node.js + +1. how long it take you?
+ + roughly 5 minutes. + +1. did you need to install additional packages or libraries?
+ + No + +1. were you able to build the code following the instructions?
+ + Yes + +1. did you need to look for additional help in installing the environment?
+ + I watched a youtube tutorial video just in case + +1. any other comments?
+ + None. + + + +## Summary +1. Do you think this is a project to which it would be possible to contribute +in the course of a few weeks before the end of this semester?
+ + I would argue no, and not because its not possible. But because the project itself + is so large, I would have no idea where to begin. Issues and pull requests are scattered + in every direction and people pick things up so quick. So as a beginner tryign to cherry pick + certain issues, they might get taken very quickly and you wouldn't even have the chance to + really work on something. + +1. Would you be interested in contributing to this particular project?
+ + I would because recently I have been coding in a lot of JavaScipt, but I honestly don't know + where I would begin. I think that contributing to this could make a big impact for your resume, + but also could expand your view on the open source world.