GSoC 2017 Student Application Template

From Joomla! Documentation

This is the Google Summer of Code Student Application Template for the Joomla! Project. This should help students to make an great and impressing proposal.


Your contact information

Please provide your basic contact information in this section, we would like to know

  • Your Name
  • Country
  • Email Id
  • Name of the University
  • Contact Number

Your Project

  1. Is this project mainly a project for the Joomla CMS or for the Joomla Framework?
  2. What is the goal of your project? What problems does it attempt to solve?
  3. Please describe the proposed project in detail.
  4. What will be the end product of your project at the close of the program?*
  5. What is your plan for completing the project on time? For example, what are key milestones and what is your rough schedule for achieving them?*
  6. What skills would a good mentor for your project have?
*If your project is accepted your mentor will work with you to refine these


Your Familiarity with Joomla

Joomla! (whether the CMS or Framework) as a development platform has specific conventions and design patterns. In this section you should show your familiarity with Joomla. We welcome applications from students new to Joomla, and encourage them to become familiar with Joomla during the application period.

1. Please describe your experience as a Joomla developer or if you have not worked with Joomla before, describe your plans for learning Joomla development.
2. Please attach or provide links to the repositories for one or more examples of your work with Joomla. This can be existing code or code you write as part of this application. If you are new to Joomla please consult with the people on the mailing list and in IRC (#joomla on freenode) about possibilities for this.
  • A working Joomla CMS extension (a component, a module or a plugin etc)
  • A class, method or subclass that you have written for the Joomla Platform (this does not need to have been accepted).
  • A working platform application.
  • A tool used in Joomla development
3. Please describe your familiarity with the development infrastructure used by Joomla & Git. If these are new to you what are your plans for learning to work with them? We hope you will use the application period to increase your familiarity with these.
4. Optional: Attach or provide links to an example of non-Joomla code that reflects your development skill.


Your involvement with the Joomla community

Applications from students who are new to Joomla are more than welcome, but if you have past involvement with the Joomla community we would like to know about it. We hope that students who are new to Joomla will use the application period to engage with the Joomla community.

  1. How have you been involved in the Joomla! Community? For example, have you participated in the Joomla Bug Squad, development mailing lists, the family of websites, Joomla events or in other ways?
  2. Have you released any extensions or provided support or services (volunteer or commercial) to Joomla users outside of the official Joomla project?
  3. If you have not been involved with the Joomla community before how do you plan to become involved?
  4. Besides working on your project, what are your plans for involvement with Joomla? Do you expect to remain involved with Joomla after the completion of your project? If so, how?


Your participation in the Google Summer of Code project with the Joomla! Project

  • A requirement for successful completion of the project is that students publish a minimum of three blog posts or articles on the family of sites.
The topics of each blog post can be decided by the student, but a general recommendation would be:
  1. Introduction to the Project & You
  2. Midterm Project Update
  3. Final Project Update
  • A requirement for successful completion of the project is that you be in contact with your mentor or project administrator at least once a week.
  • During the summer there will be meetings, webinars and other possible online events for students and mentors.
  • The Joomla project has a code of conduct you need to agree with.


What else should you consider?

  • Full Project Description
    • A proposal should detail the project in its entirety. This includes the general goals of the project, the problem the project tries to solve or feature that it adds.

  • Highly Detailed
    • Proposals should be as detailed as possible. This includes being specific with aspects like potential file structures, abstract PHP class designs with inheritances and even sample use cases.

  • Sample Joomla Code
    • Students should know how to write code for Joomla. This requires some practice. Ideally a student will have written a sample extension on the Joomla CMS and helped squash some bugs for the Joomla CMS. The sample code will have proper code style and structure and demonstrate an understanding of Joomla's APIs and functions.

  • Detailed Timeline with Milestones
    • Students should take the time to plan their project in stages, this includes key milestones like discovery, planning, execution, and documentation. The nature of the project will detail sub-tasks or sub-milestones that consist of detailing each part of the project. In addition to this, if the student has information about their personal schedule such as university tests, vacations, or periods where they will be unavailable these dates and times should be noted as well.