About KWoC:Kharagpur Winter of Code is a 5-week long online program for the students of various colleges, especially for students of IIT Kharagpur, who are new to open source software development.
Choosing the Project:
I came accross KWoC after hearing about it from my friends. Prior to this I had tried my hand with my first open source contributions in the Hacktoberfest 2017. It was a very fun experience, so I was intrigued about KWoC.
After the project list was declared I was blown away by all the awesome ideas that the people of KWoC had managed to bring to life.
Being a Python developer I looked into the various Python projects in the list. I was quite intimidated by all the big projects and all the unfamiliar code in it. So, I decided to start small.
I started by checking out small issues and fixing them. Then when I was comfortable enough I tried on more problems.
My first contribution was to sipah00/CrickFev.
I fixed the simple error of extra entries in the requirements file that broke things.
My second contribution was to metakgp/chitragupta
I added instructions to run the bot daily. From this I learned about different ways to schedule program execution in *nix systems - like `at`, `crontab`, or a simple while loop.
My third contribution was to nikhilkumarsingh/gnewsclient
I added a command line interface to the beautifully developed program by Nikhil Kumar Singh.
I got to learn about different command line creators in Python and got to use Click for the project. This has enabled me to make small CLI projects of my own, and to give my existing scripts structure.
My fourth contribution was to aribis369/Whats-in-the-news-GEEK
I added a simple requirements.txt file to make it easy to install all dependencies for the project.
Then, the mentor asked to make a gif showing the working of the project. For this I got to learn about screen recording in *nix and its different methods. As I use a tiled window manager it was tricky for me to record the exact terminal in which I would perform the project demo.
Then, due to limited internet connectivity at my home, I got to learn about methods to convert the recorded screen from a video container to GIF.
I came across various ways of doing this and observed all the different qualities of output it produced.
It took me a while to get around to a efficient and easy way to convert into a GIF in the terminal itself. It produced a high quality output with minimum file size.
My fifth and last contribution was a way to help my friend, with Parth-Vader/FB-Spider
My friend had extensively contributed to this project, but was busy to complete some final touches.
He had created a CLI for the project, but hadn't completed its documentation. So, he asked me to complete it and I did so.
Other than this I had checked out and opened some issues in some of the other projects, for other new coders like me to fix them.
All in all, this was a fun experience which I am grateful to be a part of. I got to learn a lot and it made me appreciate the power of open source even more.
Seeing the projects made me realize what I need to do for properly maintaining my own projects and I wish that next year, I can apply for the mentor spot in this great and fun event.