Google Summer of Code 2016 has come to an end. And yes I am satisfactory to a certain level that I have produced something tangible and all of you are able to access that.
Everything about GSoC had been awesome from the day one until the end. I feel that’s the best thing that ever happened to me, contributing to an open source project while learning tons of things regarding new technologies and best principles of coding, gathering remarkable experiences and and getting into the community, all had been very useful to me. On the other hand, I am glad that my effort had been really merged in to the production.
During this week, I have been testing the website whether it functions properly as intended, and then documented all my work so that they would be useful for people who wish to contribute in future.
GSoC is awesome
Everything about GSoC had been awesome from the day one until the end. I feel that’s the best thing that ever happened to me, contributing to an open source project while learning tons of things regarding new technologies and best principles of coding, gathering remarkable experiences and and getting into the community, all had been very useful to me. On the other hand, I am glad that my effort had been really merged in to the production.
Another important thing that I find with GSoC is that I had been working and contributing to an existing project, so I had to undergo a learning phase first to understand the code base, then adhere to those coding styles, technologies and tools to get the work done. That is something challenging than developing something from scratch and that’s definitely an awesome experience when we find that our code really works.
The other most important thing that I really feel very happy is to work under the guidance of a great mentor who has taught me lots of very useful things which are technical as well as non technical. My project would never be successful if I had done it in my own way which I am used to do everyday. His motivation let me think out of box, made me more encouraging and at the end of the day, I learned lots of interesting things. I believe that having a very generous, helpful and interactive mentor is a key factor for GSoC. The last few months had been a wonderful internship for me and I am really grateful for KDE community and Google for offering me that opportunity.
Although it is Google SUMMER of code, being in a tropical country it's always like summer in Sri Lanka. Hence we do not get any special holidays for summer and I have gone through this competition while attending the university and doing various university assignments as well. With the limited time I have had, I am happy that I was successful in managing the time to get this project up to this state and I feel contented about it. Infact I am happy about every task that I did during my GSoC project.
What I learned
The journey up to now has not been easy because I had to learn a bunch of new technologies and have met up with a number of issues during coding and integration.
The main thing that I learnt is doing a design oriented project using an approach that uses more design thinking. During this, I learnt lots of HCI principles related to usability. Each phase of the project had been implemented methodically so that I improved myself step by step. It had been really interesting to get the ideas and suggestions from the actual audience that use the website, which in turn taught me lots of valuable things.
The code base had mainly used Ruby, which had been a completely new programing language for me. I learnt lots of things related to Ruby community like using Ruby gems and so on. During this project, I learnt Ruby basically and also learnt other technologies like Haml, HTML, Javascript, jQuery, CSS, Bootstrap, Nokogiri and many more.
I also learnt about testing, which is a very important part of every project. During this project, I underwent behavioral driven development with unit testing and integration testing. I learnt how to use Rspec, Nokogiri, Capybara etc.
Then I learnt about inqlude command line client and contributed to that as well. UX is something which I love to do, with this project I learnt lots of things about front end web development as well.
Some very important additional things that I learnt during this project are using the Inqlude workboard in Phabricator, using Git for version controlling, documenting the work, maintaining a blog, communicating with the mentor using emails, video calls etc. All these things would definitely benefit me in my future career as a software engineer.
Work report
Repositories (Master repositories: All my work are merged to the following)
Inqlude [commits]Inqlude-data [commits]
Documents:
Project work summaryBlog
Resources
Inqlude project on KDE's PhabricatorWorkboard
Design phase
ObservationsInspiration
Storyboards
Interactive prototypes
Even though GSoC has come to a pencils down, my contributions to KDE community and Inqlude project will not halt. And here onwards I will start contributing more and more to the Inqlude project as a member of their community. With the help of my mentor Cornelius Schumacher, I was able to do a good job for the open source community. Thank you Cornelius Schumacher, KDE community and Google.