Skip to content

Latest commit

 

History

History
287 lines (188 loc) · 10.4 KB

FreeCodeCamp_evaluation.md

File metadata and controls

287 lines (188 loc) · 10.4 KB

Project Name: FreeCodeCamp

Evaluating Person or Team: Austin, austintian03


Project Data

  1. Project description: FreeCodeCamp.org is a website housing a community dedicated to helping people learn to code for free. It has a free full-stack web dev curriculum, that offers certification upon completion, with many interactive challenges and lessons. Its intended audience seems to be adults.
  1. Project website/homepage: https://www.freecodecamp.org/

  2. Project repository: https://github.com/freeCodeCamp/freeCodeCamp

License

  1. What is the project's license?
    The main license is BSD 3-Clause license whereas the learning resources in the /curriculum directory is under the CC-BY-SA-4.0 license.

Code Base

  1. What is the primary programming language in the project?
    JavaScript

  2. What is the development environment?

    There are instructions to set up freeCodeCamp locally on your own system. They say to fork and clone the respository onto your local machine and to simply install Git and your preferred code editor with ESLint setup. Or to develop on Gitpod, a free online development environment.

  3. 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, instructions are here. Very easy to find them, as it is one of the first links on the CONTRIBUTING.md page. Instructions seem pretty straightforward, and clean formatting helps.


  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?

    You can choose to run a Docker build (recommended) or a Local build to run freeCodeCamp locally. For both the Docker build and the Local build, the project needs Node.js installed. For Docker build, you need Docker software as specified in instructions, and for the Local build the project needs MongoDB Community Server installed. There aren't instructions on how to install these modules, though links to them are included, but there are instructions on how to run these modules to properly setup the enviornment.


  1. Is the code easy to understand? Browse some source code files and make a judgment based on your random sample.

    Well, I have little to no experience in JavaScript so I can't say for sure, but at the very least the source code seems to have clearly named variables and has good readability. There are no comments though. I only sort of understand what the code file I'm looking at is doing, but that's largely my inexperience with JavaScript. If someone who was familiar with JS looked at this, I have a feeling they'd probably get the gist of it pretty easily.


  1. Is this a big project? If you can, find out about how many lines of code are in it, perhaps on OpenHub.

    The project has around 36,000 lines of code (as of 3 months ago according to OpenHub). There are currently 4005 contributors (as of 3/4/2020).


  1. Does the repository have tests? If so, are the code contributors expected to write tests for newly added code?

    FreeCodeCamp require you to indicate if you have tested a modification before making a pull request, saying this is very important for non-documentation related changes. On their "How to work on coding challengs" page they have detailed instructions on how to test code/function related changes.

    There is also a "DevOps at freeCodeCamp" page that talks about and has instructions on building/testing/deploying the codebase.


Code and Design Documentation

  1. Is there clear documentation in the code itself?

    No.


  1. Is there documentation about the design?

    There is design docs for how to contribute to the coding challenges codebase: a Challenge Template exists in the "How to work on coding challengs" doc. and there is also a JavaScript style guide linked to in the "Set up freeCodeCamp locally" doc.


Activity Level

  1. How many commits have been made in the past week?

    19 commits was made the week of Sunday Feb 23rd - Saturday Feb 29th, and 5 commits have been made the week of Mar 1st so far (as of 1:04pm Mar 4th).


  1. When was the most recent commit?

    Most recent commit was Tuesday Mar 3rd.


  1. How many issues are currently open?

    166 open issues.


  1. How long do issues stay open?

    An average of 1.8 days.


  1. Read the conversations from some open and some closed issues. Is there active discussion on the issues?

    Yes there is. There seems to be same day responses for a lot of them, and are usually promptly resolved or has active discussion for issues that take a bit longer to resolve.


  1. Are issues tagged as easy, hard, for beginners, etc.?

    There is a "first timers welcome" tag.


  1. How many issues were closed in the past six months?

    There is no easy way to find this information. GitHub's analytics only seems to track up to the past month, which according to the stats is 54 closed issues from Feb 4th - Mar 4th. (I'm not hand counting the issue tracker.)


  1. Is there information about how many people are maintaining the project?

    On the website About page, there's a picture of the freeCodeCamp Team with a caption that lists 7 names.


  1. How many contributors has the project had in the past six months?

    Can't find it. The insights tab's Contributors section lists 20 contributors to master for the past 6 months. However, the Pulse section under insights says 54 authors over the past month to master and many branches.


  1. How many open pull requests are there?

    84


  1. Do pull requests remain un-answered for a long time?

    Usually same day or within one day.


  1. Read the conversations from some open and some closed pull requests. Is there active discussion on the pull requests?

    On pull requests that took longer than same day to close, there is active discussion and feedback on the pull request on how to improve the pull requests. Otherwise, there is a Gitpod tester bot that tests the pull request and if it works they often get approved, if not then not approved.


  1. How many pull requests were opened within the past six months?

    GitHub stats only shows up to past month. If I were to estimate based off going through the pages in the Pull Requests tab, over 1000 have been opened since September 3rd.


  1. When was the last pull request merged?

    Yesterday.


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.

    Yes, quite clear and thorough.


  1. Is there a CODE OF CONDUCT document? Does it have consequences for acts that violate it?

    CODE OF CONDUCT document links to the code of conducts page on freeCodeCamp.org. There are consequences for acts that violate it.


  1. Do the maintainers respond helpfully to questions in issues? Are responses generally constructive? Read the issue conversations.

    Yes, and yes.


  1. Are people friendly in the issues, discussion forum, and chat?

    Yes


  1. Do maintainers thank people for their contributions?

    Yes


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?

    Very involved.


  1. how long it take you?

    Around half an hour.


  1. did you need to install additional packages or libraries?

    Yes. Node.js and Docker.


  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?

    No.


  1. any other comments?

    n/a


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?

    There are many ways to contribute outside of just coding in JavaScript, so yes, I think I would be able to contribute in the timeframe.


  1. Would you be interested in contributing to this particular project?

    Possibly. I have been thinking about learning full-stack web development from freeCodeCamp's curriculum myself (I've already started the HTML portion), so this project does interest me a lot as I think it is a very meaningful project. Also, since the project is run on JavaScript and other web dev tools such as HTML, CSS, Node, it would be a good opportunity to learn those more while I try contributing.