Week 7 - Preparing to Start Our Final Projects

This week, we started to make big steps towards picking out our final projects. On Tuesday we learned more about useful git commands for contributing to GitHub repos, and on Thursday we held our first Zoom class where we were assigned to our project groups and began looking for projects to contribute too as we start heading into our Spring break next week.

Git tutorial

One of my main goals through this class was to get comfortable with using git commands. Going into this class, I was already comfortable with using git as a version control system on my local machine. I would always just use the master branch to make my commits and never really got used to working in other branches and dealing with merge conflicts. However, from this class I became a lot more comfortable with the git commands centered around collaboration, which is a very useful skill to havce in the real world. Interacting with the project_evaluations repository was a very helpful experience since it helped me solidify the purpose of upstreams, forks, branches, and pull requests. This was actually the first pull request I made, which was pretty nerve wracking, but by the time I had to make a second pull request I felt a lot more comfortable.

In this git tutorial that was held on Tuesday, I learned the difference between merge and rebase. Professor Klukowska showed us a great git visualization tool (this one) that I will most likely use in the future since I feel as though its hard tracking commits through a text interface. It would be great if Github had that sort of visualization of your specifc repo built into its website, but I realize that it probably would be one huge jumbled mess when there are repos with 10k+ commits.

Picking our final project

On Thursday, we had our first Zoom class which was definitely a unique experience. Although this was a necessary transition to make, I am still upset that we would not be able to collaborate with our group in person since that is usually easier to do these sorts of things in person. With that aside, I’m glad that I was put in a group that was mostly focused around contributing to a web development related project since that was my primary interest.

As of right now, we’ve been floating around ideas and haven’t picked a final project yet. The two projects that are good contendors are Open Food Facts (which was one of the projects that one of our group members evaluated) and Firefox Voice. Open Food Facts would be a great project to work on because we were looking at a lot of their code base and it seems very unstructured and undocumented. However, we were slightly confused that around 94% of their server code base is in HTML. With Firefox Voice, we were interested in it because its a Firefox extension (which we all have worked with before!) and seems to be a very new project (bulk of its commits wihin this past year) so it would be a good, young community to contribute too. Additionally, the concept behind it is very cool - the user would say what they want to do (open Google tab for example) and the browser would do exactly that!

Although we haven’t finalized what project we are picking yet, I have enjoyed the process of trying to find a good project to work on. We actually found Firefox Voice while scrolling through the trending page of GitHub Explore. There are a lot of other cool repos that don’t even have a code base like wtfjs which is a list of weird Javascript interactions, nodebestpractices which is a mini-book of how to code with Node.js.

Conclusion

Going into the spring break, my group hopes to finalize the project that we are going to contribute to. After that, we will start to develop a plan/pitch for Professor Klukowska to convince her that this would be a good project to contribute to. Thank you for reading my blog post for this week today and I hope everyone reading this stays safe over the next few weeks!

Written before or on March 16, 2020