DPS909/OSD600 Fall 2018 Lab 2

From CDOT Wiki
Revision as of 18:51, 24 September 2018 by Mskuybeda (talk | contribs) (Submission)
Jump to: navigation, search

Start Contributing to an Open Source Project

Due Date

Monday Sept 24th.


This lab will help get you started on your 0.1 release. Here is a checklist of what needs to be done (see below for more details):

  • Install and set-up git
  • Create a GitHub Account
  • File an Issue to work on in Filer
  • Create a fix for your Issue, learn how to add, commit, push commits in git
  • Create a Pull Request in Filer's repo on GitHub with your fix
  • Add your Name and URLs to the table at the end of this lab

Setup Git and GitHub

We'll use git and GitHub throughout this course to contribute to open source projects. You'll need to get both properly setup, installed and configured. Follow the instructions from the Week 3 notes to get your name, email, editor, line endings, etc. setup for git, and create an account for yourself on GitHub

File an Issue with Filer

You need to file an Issue in Filer to work on for your release. Using your recent research on Filer's fs module, pick a test you want to write for one of the methods. It is recommended that you add a test for one of the fs.promises methods and code paths, since there are currently none. Make sure it doesn't already exist, and that no other student has filed it already, and file a New Issue:

  • Talk about the method and test you are going to write
  • Keep your test small and focused: only test 1 thing in a test. It's better for us to have lots of small tests rather than a few big ones.
  • Show a short snippet of code to demonstrate the particular behaviour you will be testing.
  • If you are planning to work on this test, indicate so in the issue, (i.e., "I'd like to be assigned this issue so I can work on it.").

Fix your Issue

Once you have an Issue assigned to you, begin working on a fix:

  • Fork and Clone Filer
  • Create and checkout a branch for your work, naming it after your issue. For example, if you are fixing Issue #452, create a branch named "issue-452".
  • Test code for Filer lives in tests/ and tests/spec. You can likely add to a file there. If are unsure, ask in your Issue for advice.
  • Add, commit, and push your branch when you are done, or when you are close to done and want feedback.
  • Create a Pull Request for your fix. Your Pull Request should reference your Issue #, and describe what the change is doing. https://github.com/filerjs/filer/pull/385 is an example.

It is OK to submit a Pull Request that isn't 100% perfect or done yet for this first attempt.

Work in the Open

Everyone will struggle with some aspects of this lab and assignment. It's meant to immerse you in the open source contribution process. Don't be overwhelmed, you aren't alone, and there's nothing wrong with you! I want you to learn to work in community, ask for help, and give help as you are able:


You will have completed your lab when you have filed an issue, create a pull request, and added the links to the table below:

Name My GitHub (URL) My Filer Bug (URL) My Filer Pull Request (URL)
Mykola Skuybeda https://github.com/mskuybeda https://github.com/filerjs/filer/issues/483 https://github.com/filerjs/filer/pull/509
Stuart Crust https://github.com/0xazure https://github.com/filerjs/filer/issues/384 https://github.com/filerjs/filer/pull/385
Oluwaseyi Aketepe https://github.com/saketepe Working Working
Alexander Ponomaroff https://github.com/alexander-ponomaroff https://github.com/filerjs/filer/issues/398 https://github.com/filerjs/filer/pull/402
Ryan Vu (Tien Phat) https://github.com/pynnl https://github.com/filerjs/filer/issues/396 https://github.com/filerjs/filer/pull/406
Allan Zou https://github.com/itchylol742 https://github.com/filerjs/filer/issues/410 https://github.com/filerjs/filer/pull/413
Joshua Mayers https://github.com/JoshuaRM https://github.com/filerjs/filer/issues/399 https://github.com/filerjs/filer/pull/401
Jeffrey Espiritu https://github.com/jespirit https://github.com/filerjs/filer/issues/400 https://github.com/filerjs/filer/pull/409
Volodymyr Klymenko https://github.com/klymenkoo https://github.com/filerjs/filer/issues/407 https://github.com/filerjs/filer/pull/415
Michael Overall https://github.com/Michael-Overall https://github.com/filerjs/filer/issues/392 https://github.com/filerjs/filer/pull/416
Dilan Guneratne https://github.com/dnguneratne https://github.com/filerjs/filer/issues/387 https://github.com/filerjs/filer/pull/412
Yoosuk Sim https://github.com/y2s82 https://github.com/filerjs/filer/issues/424 https://github.com/filerjs/filer/pull/429
Robert Dittrich https://github.com/rdittrich97 https://github.com/filerjs/filer/issues/423 https://github.com/filerjs/filer/pull/432
Xuan Dinh Truong https://github.com/susantruong https://github.com/filerjs/filer/issues/435 https://github.com/filerjs/filer/pull/437
Minying Chen https://github.com/Janice0218 https://github.com/filerjs/filer/issues/428 https://github.com/filerjs/filer/pull/440
Nathan Misener https://github.com/PopeSpaceous https://github.com/filerjs/filer/issues/447 https://github.com/filerjs/filer/pull/448
Corey James https://github.com/coreyjjames https://github.com/filerjs/filer/issues/408 https://github.com/filerjs/filer/pull/449
Yeonwoo Park https://github.com/ywpark1 https://github.com/filerjs/filer/issues/426 https://github.com/filerjs/filer/pull/452
Stephen Truong https://github.com/struong9 https://github.com/filerjs/filer/issues/419 https://github.com/filerjs/filer/pull/455
Brendan Hung https://github.com/Casva https://github.com/filerjs/filer/issues/427 https://github.com/filerjs/filer/pull/457
Daniel Bogomazov https://github.com/danielbogomazov https://github.com/filerjs/filer/issues/405 https://github.com/filerjs/filer/pull/458
Oleksii Kozachenko https://github.com/AlexeiGitH https://github.com/filerjs/filer/issues/441 https://github.com/filerjs/filer/pull/443
Brett Larney https://github.com/bblarney https://github.com/filerjs/filer/issues/417 https://github.com/filerjs/filer/pull/460
Julia McGeoghan https://github.com/jkmdev https://github.com/filerjs/filer/issues/421 https://github.com/filerjs/filer/pull/462
Steven Le https://github.com/Dragomegak https://github.com/filerjs/filer/issues/453 https://github.com/filerjs/filer/pull/454
Jagmeet Bhamber https://github.com/jagmeetb https://github.com/filerjs/filer/issues/431 https://github.com/filerjs/filer/pull/439
Maya Filipp https://github.com/mordax https://github.com/filerjs/filer/issues/436 https://github.com/filerjs/filer/pull/481
Thomas Nolte https://github.com/ThomasNolte https://github.com/filerjs/filer/issues/465 https://github.com/filerjs/filer/pull/471
Matthew Phan https://github.com/mphan6 https://github.com/filerjs/filer/issues/444 https://github.com/filerjs/filer/pull/468
Dan Lin https://github.com/DinahLin https://github.com/filerjs/filer/issues/456 https://github.com/filerjs/filer/pull/504
Shawn Pang https://github.com/CometS1 https://github.com/filerjs/filer/issues/461 https://github.com/filerjs/filer/pull/472
Stephen Ward https://github.com/steaward https://github.com/filerjs/filer/issues/420 https://github.com/filerjs/filer/pull/476
Xiaochen Wang https://github.com/xwang345 https://github.com/filerjs/filer/issues/470 https://github.com/filerjs/filer/pull/477
Deepanjali Gerangal https://github.com/deepanjali19 https://github.com/filerjs/filer/issues/418 https://github.com/filerjs/filer/pull/496
Adam Kolodko https://github.com/AHKol https://github.com/filerjs/filer/issues/411 https://github.com/filerjs/filer/pull/478
Mark Krutik https://github.com/MarkKrutik https://github.com/filerjs/filer/issues/442 https://github.com/filerjs/filer/pull/464
Andriy Yevseytsev https://github.com/yevseytsev https://github.com/filerjs/filer/issues/491 https://github.com/filerjs/filer/pull/501
Yuecheng Wu https://github.com/YuechengWu https://github.com/filerjs/filer/issues/459 https://github.com/filerjs/filer/pull/488
Wang Pan https://github.com/giantpanpan https://github.com/filerjs/filer/issues/450 https://github.com/filerjs/filer/pull/486
Muchtar Salimov https://github.com/MuchtarSalimov https://github.com/filerjs/filer/issues/463 https://github.com/filerjs/filer/pull/494
Karan Sandhu https://github.com/ksandhu16 https://github.com/filerjs/filer/issues/473 https://github.com/filerjs/filer/pull/495
Yuzhou Chen https://github.com/yuzhouChen https://github.com/filerjs/filer/issues/497 (working)
Vincent Wong https://github.com/VinceBackpack https://github.com/filerjs/filer/issues/445 https://github.com/filerjs/filer/pull/466
Victor Kubrak https://github.com/VictorKubrak https://github.com/filerjs/filer/issues/493 https://github.com/filerjs/filer/pull/502
Mera Gangapersaud https://github.com/Mera-Gangapersaud https://github.com/filerjs/filer/issues/500 https://github.com/filerjs/filer/pull/507