Skip to end of metadata
Go to start of metadata

Google Summer of Code

Welcome, students!

Google Summer of Code is a program in which Google sponsors exceptional college students to develop open source code under the guidance of mentoring open source projects. PrestaShop is applying to be participating as a mentoring organization this year. This page contains information about potential projects and mentors. Students who complete their summer projects successfully and on time are paid a stipend by Google that adds up to $5,500 for the summer. Project progress is evaluated at midterm and at the end for payment consideration.

This page lists our ideas for Google Summer of Code 2016. Currently, our development efforts are focused on the release of PrestaShop 1.7, and the maintenance of PrestaShop 1.6.

Possible mentors are listed for each idea; however, mentors generally do not wish to help a student drafting his proposal. You can use our Gitter channel to ask specific questions about these ideas.

Introduction

The ideas listed here were contributed by our developers. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the developers on Gitter and find out more about the particular suggestion you're looking at.

Being accepted as a Google Summer of Code student is quite competitive. You are supposed to work the full summer on this project (this means twelve weeks of about thirty hours per week). We are not going to accept you if you are not willing to dedicate this amount of time. Also please check the GSoC 2016 timeline so that it won't collide much with your exams.

Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.

The GSoC timeline

Official GSoC information is available at https://developers.google.com/open-source/gsoc/. The timeline on the Google site mentions important dates, in particular:

  • 29 February 2016, 19:00 UTC: List of accepted mentoring organizations published
  • 14 March 2016, 19:00 UTC: students start submitting their proposal for PrestaShop to the Google site
  • 25 March 2016, 19:00 UTC: is Google's deadline for student applications

Prerequisites

In addition to the GSoC prerequisites (read the GSoC Students Guide to get started.), here is what you should know:

  • We code using OOP and MVC as much as possible.
  • Languages: PHP5, MySQL, JavaScript, CSS, Smarty template engine.
  • PrestaShop 1.7 adds Symfony 2.8 and its Twig template engine.
  • We also use Travis for continuous integration within GitHub.

Project site: https://www.prestashop.com/

Code repository:

Bug tracker: http://forge.prestashop.com/

Documentation:

Devteam blog: http://build.prestashop.com/

Gitter channels: https://gitter.im/orgs/PrestaShop/rooms

Community forums: http://www.prestashop.com/forums/

Ideas

Your own idea

Something that you're really excited about!

Do you have an awesome idea you want to work on with PrestaShop but that is not among the ideas below? That's great!
But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic. That will spare you and us a lot of frustration.

Diving into the Forge

Not every GSoC project has to be a big single-feature goal. Helping us improve existing core PrestaShop code is also very valuable.

If you look at the Forge (our ticketing system), there are hundreds of tickets for bugs, enhancements, feature requests and others that are waiting for a feedback or a pull request.

You could choose a specific PrestaShop component that you will focus on for the summer (say, the Advanced Stock Management or the Layered navigation module).
Or you could pick a specific set of tickets that address bugs or enhancements you would personally like to see addressed and patch them (and test, and revise, etc).
Finally, you could simply help us clean up. There are many Forge tickets that have pull requests attached, but which haven't been merged because the PR needs a code review and testing, or the PR is outdated, or the request was fixed in a later release but on a different ticket, or the request is an edge case that just hasn't gained any traction. Your job would be to power through as many of these as possible to get them to a point where there's something that can be committed, or to ascertain with the guidance of your mentors if the ticket should just be closed.

Possible Mentors: Any/all lead and commit-level contributors. One benefit of this project type is that you will have the entire development community to give you feedback as you work.

An ETL data import module/script module: Shopify to Prestashop, or WooCommerce to PrestaShop, etc.

The interest is self-evident! (smile)

Possible Mentors: Any/all lead and commit-level contributors. 

Rebuild/think the 1-click Upgrade module

We could create a new upgrade module for PrestaShop 1.6-1.7 in order to have a solid upgrade path between these two versions. There is a lot to do with sql migrations, patch and diff, rollback, etc.

Now that we use SemVer, and that we plan on making regular patch versions (and alpha, beta and RC versions), this project is pretty important.

Possible Mentors: Any/all lead and commit-level contributors.

Make PrestaShop work seamlessly with WordPress

Because WordPress has 25% of the Web: merchants want to keep WordPress for their content (blog, static pages, etc.).

This project aims at giving PrestaShop a great integration into WordPress (or vice versa).

Possible Mentors: Any/all lead and commit-level contributors.

Rework the way search works

Do you feel like combining PrestaShop with Elasticsearch or Algolia, in a SaaS way? This is your chance!

Possible Mentors: Any/all lead and commit-level contributors.

Rework the way translation works

We have a lot of ideas to improve the link between PrestaShop and Crowdin, which we use for translations.

Possible Mentors: Any/all lead and commit-level contributors.

Free us from customized libraries dependencies

In the past, PrestaShop has had to modify the Core code of some of its external libraries, such as SwiftMailer: https://github.com/PrestaShop/PrestaShop/tree/develop/tools

Some of these have since been updated several times over, but the Core code of PrestaShop is now tied to our customization, and therefore we cannot easily upgrade.

This project would require you to dive deeply into the dependencies of the most outdated libraries, and make sure that PrestaShop still works as expected – and can easily update its libraries without wreaking havoc.

Possible Mentors: Any/all lead and commit-level contributors.

After the GSoC

One of the goals of the PrestaShop project to participate in GSoC is to attract new developers to the team. If a GSoC student is performing well during the summer and decides to stay active afterwards, we will possibly offer several things.

Commit access

If a student has proven good knowledge of the codebase and our coding standards, and shows activity during a few months after GSoC has ended, the student will be granted commit access on the PrestaShop repository on Github.

Team membership

We will acknowledge the student's activity and commitment to the project after GSoC by offering team membership. Apart from commit access on GitHub, the student's name will be mentioned on the team page and the student will be invited to team meetings.

  • No labels