Google Summer of Code’19 with PhpMyAdmin — “Refactoring and Improving Designer”

MOHIT KURi
Jun 12 · 3 min read

I would like to thank Google for enabling students to participate in open source development through GSoC. Also, I am very happy to announce that I’ll be working with phpMyAdmin this summer on the project ‘Refactoring and Improving Designer’.

“ Code refactoring should not be done just because we can.”

When the designer section of phpMyAdmin was initially written, there was no jQuery. But now since it exists and due to the advantages of jQuery over JavaScript and it’s a necessity over here, we could make this section better by making use of jQuery[Refactoring] and also resolve the existing issues[Improving]. Also, this project will be beneficial for both the important stakeholders, i.e. developers and user community.

This project will be beneficial for both the important stakeholders, i.e. developers and user community.

Developers:

  • It will simplify HTML document traversing, event handling, animating, Ajax interactions, etc. Also, it is very powerful and easy to use
  • Since jQuery has been optimized thus, developers can do the same things in fewer lines of code.

Users:

  • Reduced load time
  • It will be more secure once we reduce the number of global variables and functions
  • Existing issues faced and reported by the users will be resolved

Also, while refactoring we have to follow good coding practices so that a new developer won’t face a problem in understanding the code.

Currently, the designer contains the following 6 JavaScript files:

In this time period, I will be refactoring different JS files for the first 2 phases and will be resolving some issues in the last phases of the GSoC timeline.

Project Schedule

May 6 — May 26, 2019

  • Bonding with the community
  • Get more familiar with the designer section
  • Discuss the approach proposed of both the refactoring and issues, improvise based on the discussion

May 27 — June 2, 2019

  • Refactor “history.js”
  • Testing

June 3 — June 9, 2019

  • Document and verify it with the mentor
  • Refactor other small sized files

June 10 — June 16, 2019

  • Change things as per review
  • Refactor all files other than “move.js”(2.1K+ lines of code)
  • Test work on a regular basis

June 17 — June 23, 2019

  • Documentation and testing
  • Verify work from the mentor
  • Complete and submit work for phase-1 evaluation

First Mid evaluation: June 24–28, 2019

June 29 — July 5, 2019

  • Update the files based on reviews of mentor
  • Start refactoring with “move.js” file

June 6 — June 12, 2019

  • Finish refactoring of “move.js”
  • Test it properly

July 13 — July 21, 2019

  • Verify work
  • Refactor and make it more readable
  • Finalize whole refactoring work
  • Document and test the complete work
  • Submit work for phase-1 evaluation

Second Mid evaluation: July 22–26, 2019

July 27 — August 2, 2019

  • Discuss and finalize the possible solution of all the issues with mentors

August 3 — August 9, 2019

August 10 — August 16, 2019

August 17 — August 26, 2019

  • Makeup duration
  • Complete all the remaining work
  • Document and testing
  • Submit final work product

August 26 — Sept 3, 2019

  • Mentors Submit Final Evaluations
  • Final results of Google Summer of Code 2019 (3rd Sept 2019)

I’ll be updating my weekly progress of the project on this blog.