GSoC’18 Second Coding Week

ANJALI DHANUKA
3 min readMay 29, 2018

--

This blog is about my second week of First Coding Phase with Systers OS. This blog is in continuation with my previous blog on GSoC’18 First Coding Week. This week focussed more on bringing clarity about implementation of stuff rather than doing it. This week was surrounded by a lot of confusion, clumsiness and mess.

So let me give a brief about it. My mentors and admin were a bit preoccupied this week. So we could not have as much open discussions as we had in the previous week.

Challenges:

  1. Writing Tests

All the tests of VMS have been commented out. The enhancements which I was implementing could only be merged after writing tests for them. For writing the unit tests for my enhancements, I wanted base tests. This was to be done by Monal, the student working on Infrastructure and Automation project for VMS. Thus, by the time he’s not done with his work, I could not write my tests and this work is his GSoC project.

Finally after lots of discussions and stuff, we decided that I’ll be implementing all the enhancements once without writing tests. After Monal would be done with an app, I’ll write the tests for that app related enhancements.

2. Branch issue

Two branches are made in VMS namely gsoc18-code and gsoc18-infra. My pull requests are being merged into gsoc18-code and monal’s into gsoc18-infra. Monal was asked to write the tests for the ported version, and as I mentioned I needed the tests to be fixed for writing new tests. Thus we both wanted each other’s commits.

Initially, me and Monal decided to work on same branch, thus we made a new branch named gsoc18. But our project administrator was sure that it would be difficult for two gsoc students to work on same branch. And we too started facing issues even within a day. Thus finally, we decided to work on separate branches.

Tasks:

1. Validation of Locations

During filling up countries, cities and states, I added checks to ensure that the states and cities lie in the corresponding country and state respectively.

2. Cleaning up the repository

This task was not in my timeline, but since there was a lot of mess and I was not allotted any work for the week. I decided to clean up the repository. This basically includes closing duplicate or irrelevant issues, implement proper labelling on issues, reviewing exisiting PRs, closing the inactive ones.

Zenhub was a great help in this. It integrates natively within GitHub’s user interface. It visualizes issues & track dependencies allowing you to track and provide transparency into your development process using existing GitHub data.

I dragged and dropped issues between pipelines, filtered them by labels, assigned Issues, viewed issues linked with pull requests, visualized blockers with Issue dependencies, and much more, all through Zenhub.

Zenhub board for VMS

I think that although the week wasn’t that much productive if we see the amount of code written or the PRs merged. But I got clarity on things and about their implementation. Stay tuned for my next blog post for Week 3.

--

--

ANJALI DHANUKA

Student Developer at GSoC | Programmer | Applied Mathematics Undergrad at IITR