Update on Release 0.4

For Release 0.4 I have worked on Vibranium-dark. It is a Web App that is created for Developer Student Clubs in Sub Saharan Africa. However, they are open to other contributors for the project. I enjoy working with on UI of applications. By simply using HTML and CSS a page can be made to look so much nicer!

For the first issue I worked on, they wanted to update the UI of Meet the Team section of their web app. That section was using carousel, hence you cannot see all the team members all at once. They wanted to update it so that all the team members can be visible all at once in one page in a specific format. It was interesting to know about Carousel. By using carousel you can display a slide of images/elements you want to display.

For the second issue I have created a pre-loader page from scratch. It was interesting to see the variety of loaders can be created. From a very basic one to a very fancy one. However, I decided to stick with the basic idea of displaying a circular loading icon with some fancy design.


Moreover, I have been working on the issue that I choose for Release 0.3 from TEAMMATES. Working on TEAMMATES has been very interesting as they have a lot of tests that you have about the syntax of your code. After fixing the syntax errors of my code my pull request has been able to pass all the required tests. I still have to add some sorting functionality for student-list table and then finally I will be done with that issue. I will keep on working on that issue until it will be merged into TEAMMATES’s master branch.

Links

Vibranium-dark: issue4, issue38, pullRequestForIssue4, pullRequestForIssue38

TEAMMATES issue, pullRequest

Update on Release 0.4

For release 0.4 I have found 2 bugs that I would like to work on. I am going to start with working on TeacherFund_next‘s issue. This issue works around the login/Registration page and is a UI enhancement. However, I see another developer also willing to work on this issue. Hence I have found another issue that I can work on in case this one gets a fix.

The second issue that I am going to work on is from Vibranium. This issue is also a UI fix. However, since not alot of information has been provided on this issue I have asked the developer who created this issue for help. I am still going to fork a repo and look deeper into it, in case I can figure it out on my own.

Lastly I am also working on the issue I worked on for my Release 0.3 from TEAMMATES. That issue has not been fixed yet completely as I need some more information about the sorting feature for table at that point in time. Now, since I have got more information about it and also a developer has helped me figure out why my PR was not passing the tests, I would like to continue working on that one as well and close my PR!

Links

TEAMMATES : issue

TeacherFund_next : issue

Vibranium : issue

Release 0.3

Initially I planned to work on a bug from TeacherFund_next. However, othere developer ended up submitting a pull request before.

I found a very interesting issue to work on for Release 0.3 from TEAMMATES. It is an online tool used by teachers and students. I found an issue to work on the web side of the application. The web part of the application uses Angular. I have worked on angular before at my co-op work term, hence I really enjoyed working on this issue from TEAMMATES.

Issue 9510 from TEAMMATES is about add sorting feature to course tables so that the instructor can sort the table entries. Since it was my first time contributing to TEAMMATES, the member who created the issue asked me to work on a firstTimer bug. However, since I am familiar with angular I was confident to work on this bug.

I sorted the tables for course list. The issue also refereed to sorting StudentList component’s table. However, I needed more information to work on that part as that part is already sorted by TEAM.

I added some HTML code to call sort functions in .ts files for different course list tables

Also created sort functions to sort course list. One of the sort function is shown below



Links

Pull request

Issue

Updates on Release 0.3

I found a very interesting bug from TeacherFund_next. The reason I mentioned interesting is that I have to start working on it from scratch. Usually while working on issues before, I had to read someone else’s code and research on what is wrong, how can I correct it. However, the issue I am currently working on is adding a new feature to the application from scratch.

In the issue the developer has mentioned that since I will be designing the style and the order of the columns there will be a lot of going back and forth to achieve the desired results. This is the first time I will be going through this process and I am very eager to see how the end result would be.

For the issue I am working on I am using react to work on it. I have to create a table with columns like

  • Type Donor
  • Date
  • Amount

This table will have be in its own component. There is a full possibility that I will be asked to redo the table, add more columns once I submit an initial pull request.

Links:

Issue: https://github.com/teacherfund/TeacherFund_next/issues/40

Project: https://github.com/teacherfund/TeacherFund_next/tree/master/components

Projects and Issues for future release

Release 0.2 has been very useful so far in helping me decide which projects I should work on. In release 0.2 I tried to work on big projects as well as small ones. According to my experience, the lead developing team of big trending projects is usually too occupied, it can be difficult to work on an issue of a completely new project without any guidelines. As a result of which I ended up working on something which was completely irrelevant to the issue. Hence, for release 0.3 I have decided to work on smaller projects, as the developing team usually replies fast also helps you with where to start from and through the process of making a pull request.

TeacherFund_next is a charity to support teachers in a way that encourages great teachers to stay, and potentially great teachers to choose teaching as a career path. This includes providing supplemental funds and supplies to school teachers in need.

TeacherFund_next is still growing and it has many new features to be added. I think it will be perfect to work on this project for Release 0.3 as we have to work on bigger bugs and do some meaningful contributions. Issue from TeacherFund_next, a table has to be implemented showing the payout and payment information.

This semester, I am taking Data Structure and Algorithm course which encouraged me to dig deeper into algorithms. JavaScript-algorithms contains JavaScript based examples of many popular algorithms and data structures. An issue from JavaScript-algorithms deals with binary search tree which I have recently learned in my Data Structure and Algorithms class and working on this issue will help me to play around with it and learn more.

Links

TeacherFund_next

issue from TeacherFund_next

JavaScript-algorithms

issue from JavaScript-algorithms

Summary

After working on few projects for this release, some were successful while some failed. I realized that having proper guidance provided by the lead contributers of the application can be really helpful.

I started with attempting to work on typscript which is a big project. When I asked one of the lead contributor of project to help me with getting started with the issue, he said they were not well staffed to provide 1 to 1 help to other developers. When I was working on Marquez, which is a smaller project, the lead contributor was really helpful and helped me to pass my pull requests and merge my code.

Hence, having good fellow /lead contributors who help you with the process can be really vital. I have worked on just one pull request out of the 4 I made which was related to web development(I am experienced in) while the others were related to java, one of the languages I am not very comfortable working with. It has helped me gain confidence to try new languages and projects which are outside of my comfort zone.

Updated on Release 0.2 (Part4)

My third and last bug from Marquez was a new one for me. It was disable javaDoc from CheckStyle.xml file. I had never worked with CheckStyle.xml file before. According to the description of the issue, because of validation for javaDoc, the application was throwing errors.

Working on this issue consumed a little longer than working on the other one’s as I had to do some research. Initially I updated to have ignore assigned to the values of javaDoc validation which threw error and prevented from being merged with the master.

Luckily one of the contributor who has helped me through the entire process of creating and successfully merging pull requests on Marquez helped me to solve the bug.

After having a detailed look at the document I concluded that in order to disable a validation we have to assign the scope property to “nothing” instead.

My fourth pull request refers to bug #2from DH_04_VerteileSysteme. This project was totally made me step out of my comfort zone as it is mostly documented in a foreign language. The Readme document that guides through the necessary softwares and requirements for the project is itself in a foreign language. Hence I had to look through technical words and assume some parts.

The bug that I worked on is an UI issue. I have always been interested in working on UI side of applications and websites and this issue was a chance for me to work on it. I have updated my changes and made a pull request. However, I have not received any reviews from the contributors yet.

The bug #2 from DH_04_VerteileSysteme is based on the login page of the application. I updated the CSS of the project to change border color once the user clicks on the button and I removed the login icon from the button as requested in the issue.


Updated on Release 0.2 (Part 3)

The Second pull request I made is also from Marquez. Issue was to bind {namespace} to NamespaceName . Although, it is the same kind of issue as the first pull request I made, interestingly, submitting a pull request for this issue was not the same and as simple. For this issue once I updated the files and this time I was sure that my updated code is correct as I had already worked on similar issue and my pull request was reviewed and merged into master. However, I was getting bugs! When I dug deeper I found out that the problem was in the tester file. Hence, for this pull request I worked and corrected the tester files as well.

The problem in the tester files was the parameters that were being passed. One interesting thing I found about Marquez is that once you have updated and solved the issue you are working on you have to create a tester file. For my issues the tester files were already created but I got a chance to edit them and go through them!

I submitted a pull request and once I made a minor change(running gradlew spotlessApply) to correct the syntax my pull request was merged successfully into master after one of the contributor’s reviewed my code.

Links:

Pull request for bind {namespace} to NamespaceName issue

Update on Release 0.2 (Part 2)

In the first week of release 0.2 I was panning to work on a bug in react-native. For week2 I tried setting up the environment but it ended up taking a lot of my time. For week 3 I tried to work on Microsoft/TypeScript.

The bug in Microsoft/TypeScript I was trying to work on, I misunderstood it. Moreover, because of not getting quick replies from the contributors I decided to make a Pull request of the changes I made. Later they had to close the pull request as it was not referring to the issue. I updated the error message while for the bug they wanted to update the functionality. Since, I was falling behind I thought it would be a good idea to move to another project this is simpler.

Marquez is an open source metadata service for the collection, aggregation, and visualization of a data ecosystem’s metadata. I found some interesting issues to work on in Marquez. I started with: bind {job} in path variable with JobName.

While working on this issue I came across lombok. Lombok helps developers not code getters, setters or toString converters for every class. It has certain data annotations that we have to mention (for an instance: @Getter, @Setter, @ToString) and it automatically does it for us.

Marquez has a JobName class that uses lombok. At the beginning I was not aware about the functionality of lombok so I wrote a manual getter function to access private value of the class. It passed all tests. However, one of the contributers of Marquez, after reviewing my code suggested to to remove the manual function and just write getNameOfTheVariable() in order to get the private value.

As I mentioned here getValue() is an automated code. After exploring this new feature of java I am more drawn to work on Java based projects!

Links:

features of Lombok

pull request to bind {jobname} to JobName class.


Update on Release 0.2

Working on Release 0.2 has been very interesting. In Release 0.1 we had a bug already found but for this release we have to a find a bug and fix it! I am still working on finding a bug I can work on.

I have downloaded NativeScript and React-Native on my local machine, the projects I blogged about last week. I tried to look through the list of issues first on GitHub but I couldn’t find a bug I could work on. A lot of the bugs were about how the project could not run on different systems and memory loss while I was more interested in finding a code bug.

While I was looking through the list of issues I found an interesting bug which has given me a new perception to look for bugs. I would like to share that pull request as I think it is an interesting bug and it can help others to look for a new bug.

In the above image as you can see the respected developer found an issue in the project by trying to improve the style code, which I think is a great idea to find a bug.

Moreover, while looking through this bug I found a way to fix this issue and this bug might result into a potential pull request. When the developer updated code of a Login button to use absolute as its position, he faced an issue with the button not working. I researched and have found a fix! First let me show you what is the bug.

Here as you can see the developer has not included height and width for the parent element. I just found a fix for it!

You can fix it by including height and width for the parent element.

After attending today’s class of OSD600 and hearing stories from my classmates, some of them are struggling to find a bug while some of them already have, has motivated me to think out of box and look for some other projects where I can find a bug and work on it.

Link to the Bug

Link to bug-fix