GSoC Student Application Template

From Joomla! Documentation

Joomla Google Summer of Code
Student Application Template

This is the Google Summer of Code Student Application Template for the Joomla! Project. Why did we create it? To help students to make an awesome proposal and really impress us. So this is what we are expecting to hear from you:


Your contact information[edit]

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

  • Your Name
  • Country
  • Email Id
  • Github Name
  • Name of the University
  • Contact Number (include your country code)

Your Project[edit]

  1. What is the goal of your project? What problem does it attempt to solve?
  2. Please describe the proposed project in detail.
  3. What will be the end product of your project at the close of the program?*
  4. 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?*
  5. 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[edit]

Joomla 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 the Glip chats, about possiblities for this.
    1. A working Joomla CMS extension (such as a command line script like those found in the jacs repository, a script to be run as a cron job, a component, a module or a plugin)
    2. A class, method or subclass that you have written for the Joomla Platform (this does not need to have been accepted).
    3. A working platform application.
    4. 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[edit]

Applications from students who are new to Joomla are 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[edit]

  • A requirement for successful completion of the project is that students publish a minimum of three blog posts or articles on the Community Portal. Do you agree to complete this requirement?
    The topics of each blog post can be decided by the student, but a general recommendation would be:
    1. Introduction to Student & Project
    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 and publish on the Joomla Volunteers Portal a weekly report of the work done during the week. Do you agree to complete this requirement?
  • During the summer there will be meetings, webinars and other possible online events for students and mentors. Do you agree to make a commitment to attend as many of these as possible given your time zone?
  • The Joomla project has a code of conduct. Do you agree to comply with the code of conduct?

What else should you consider?[edit]

  • 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, 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 module, component, or plugin on the Joomla CMS, maybe even 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.