GSoC_2019_ideas_list

Maurício Meneghini Fauth edited this page Jan 30, 2019 · 4 revisions

List of ideas for Google Summer of Code 2019. Our development efforts aim towards the release of phpMyAdmin 5.0.

For details about participating in the Summer of Code for the phpMyAdmin project, please refer to our GSoC 2019 applicant guide.

Possible mentors are listed for each idea; however, mentors generally do not wish to help a student drafting his proposal. You can use the phpmyadmin-devel mailing list to ask specific questions about these ideas.

For a general reference about Refactoring, see http://en.wikipedia.org/wiki/Refactoring.

On this page:


Convert the UI to Bootstrap

phpMyAdmin has recently added Bootstrap 4 support. The goal of this project is to convert the existing user interface to the Bootstrap format, not to create a theme with Bootstrap style.

For each step of your project, it should be possible to merge it to the master branch, so take this into consideration when planning.

The buttons have already been converted to Bootstrap, see #14792.

Experience with HTML and CSS is desired and experience with Bootstrap and Sass is welcome.

Possible mentors: Maurício Meneghini Fauth


Error reporting server

phpMyAdmin's error reporting server is a service which collects failures happening on the phpMyAdmin installations all around the world. It's implemented in CakePHP and is serving us already few years.

However the server would need quite some improvements (see the issue tracker), for example:

  • Improved stats page
  • Mass operations on incidents and notifications
  • Public read only interface
  • Persistent settings

See its code at https://github.com/phpmyadmin/error-reporting-server/

Requirements: PHP and MySQL knowledge, CakePHP experience welcome.

Possible mentors:


Introduce modern JS features and tools to phpMyAdmin codebase

We already use Composer for managing PHP dependencies. We'd love to have the JavaScript dependencies tied up through a dependency manager too (like npm, yarn etc.). You are free to explore, reason about and come up with a choice in your proposal.

For introducing ease to use and better maintainability, we would like to revamp/restructure/rewrite our JavaScript codebase to use better and flexible modular patterns; while moving away from exposing all functions, variables etc. to the global scope. While modularizing the codebase, we would want to investigate and introduce usage of a bundler like Webpack, Browserify etc.

If you feel that your proposal timeline won't allow time for the whole codebase to be revamped, we expect you to specify handling the part-upgrades, without breaking the usability completely.

Experience with the following is welcome (but not required):

  • Intermediate JavaScript,
  • A JavaScript package manager,
  • Webpack (or any other bundler)

Possible mentors: Deven Bansod


General improvements

There are many small enhancements in the bug tracker which are too small to make a single project, but they can be grouped together to make a suitable GSoC project.

Possible mentors: Saksham Gupta


Refactoring and improving Designer

The Designer was written without any library like jQuery, thus the JavaScript needs to be rewritten and some issues need to be fixed. Feel free to explore what you can do to improve Designer.

It's good to have some experience with JavaScript and jQuery.

Possible mentors:


Your idea

None of above did attract you? Feel free to come up with your own idea, you can take inspiration from the enhancement requests: https://github.com/phpmyadmin/phpmyadmin/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement

Please note that the project is supposed to take the whole summer, so you will most likely have to combine several enhancement requests to get a big enough project.

Category:Google Summer of Code 2019

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.