Google Summer of Code ’19 With phpMyAdmin

May 6, 11:30 pm, I went to the GSoC website, hit the refresh button and searched my name under the list of selected projects. My name popped up and I was over the moon and it took me a while to let it all soak in.

Hello everyone!

I’ve been selected as a Google Summer of Code developer for the year 2019. Over the Summer I’ll be working with phpMyAdmin on the project ‘General Improvements’ under my mentor .

phpMyAdmin is currently well equipped and widely used web interface for MySQL and MariaDB. It has an Intuitive web interface and support for most MySQL features like managing databases, tables, columns, relations, indexes, users, permissions, etc along with a number of other features.

Still, there are a number of improvements and new features that can be added in the current version of code. Though they do not hinder the user’s working, adding them would make the user experience more seamless and smooth. The aim is to make the code free of, and less prone to, bugs, and add features to further enhance the accessibility, adaptability, and user-friendliness.

Further, I would like to throw some light on how I went about contributing to the organisation and my application process.

After the list of organisations was introduced, I looked through the list to find organisations with a familiar technology stack and project aligned with my interests. phpMyAdmin was one such organisation. I had some prior experience with Open Source as I applied for GSoC last year too.

Firstly I went through their project ideas and one of the ideas caught my eye. It was ‘General Improvements’ project which included adding new features and fixing some critical issues in the current platform. It included:

Fixing Theme Generator: A tool to create custom theme.
Adding Favourites Feature: Ability to mark important database and tables.
Creating composer packages: phpMyAdmin configuration files as a composer package
and some other Bugs and improvements in the code.

I immediately decided to apply for this project. I started with scouring some bugs and fixing them, this not only supplemented my PHP knowledge but also helped me in understanding the huge code base, contributing guidelines, healthy development practices, quality of code expected, etc. and not to mention the hands-on experience of working on a real-time project for an international organisation under brilliant mentors.

I frequently interacted with the community on their Gitter channel or on github issues with questions about their products and they were helpful in guiding me throughout. At the same time, I tried to help other developers in the community with setting up the projects, reviewing their pull requests, failed builds, etc. Even though I wasn’t always aware of the solution, I always tried to look up the errors and go through the relevant documentation to solve them and this was a win-win situation because even I ended up learning a lot in the process.

I started with my proposal couple of weeks before the deadline and got them reviewed by the mentor a week before, made relevant changes and submitted the final proposal. I had to follow a fixed template provided by the organisation for the proposal.

After submitting my proposal, the next month majorly went into preparing and appearing for my end semester examinations, I kept contributing to the organisation and interacting with the community members and of course GSoC results were always on my mind.

And finally the result came in my favour and on 6th may I received the mail:

In the following blogs, I will document my experience working on the project and all that I learn in the process. :)