GSoC 2020 Project Ideas
From Joomla! Documentation

Welcome to the Joomla Google Summer of Code (GSoC) 2020 projects page.
If you are interested in participating as a student please review the materials on applying that are available at Google. We strongly encourage you to ask questions about process and projects on our joomla-gsoc mailing list and join our public Glip / Ringcentral chat tool.
Note: The GSoC 2020 projects are displayed in no particular order
Project I: Page Builder
Project Description
The main focus of the PageBuilder lies on a Drag & Drop editor, which makes it possible to create a full Joomla! frontend template with custom defined positions without writing any HTML code. Users can use predefined elements - container, grid, column, module position as well as custom elements. 3rd party developers are able to add their own elements via plugins. https://docs.joomla.org/J4.x:Page_Builder
This project is a continuation of the GSoC Page Builder project 2019 (https://github.com/joomla-projects/gsoc19_page-builder ). The idea is to extend the basic implementation to a level where it’s possible to reproduce the Cassiopeia template (current frontend template) using the PageBuilder.
As a student, here is the list of things expected from you as a deliverable for the project:
- Improve the function of the PageBuilder and add missing features like parameters, elements, … so at the end of the project it should be possible to create a structure which looks and acts like the current Cassiopeia template (if another template is the current default one, then this should be the reference)
- Iron out any existing issues to make the page builder release ready.
Knowledge Prerequisite
- Must have: Knowledge of PHP, HTML, CSS, VueJS, JavaScript
- Nice to have: Joomla! 4 template creation
Difficulty
- Hard
Mentors
- Dr. Viviana Menzel
- Anurag Kumar
- Nitish Bahl
Project II: Auto Updater
Project Description
An Auto-Updater would decrease the number of hacked pages significantly. With this project Joomla! 4 should be extended by an auto updater. In order to prevent that such an auto-update feature can be weaponized, strong cryptographic signatures have to be used for signing and verifying available updates. A centrally hosted service should trigger site updates on all connected Joomla sites.
As a student, here is the list of things expected from you as a deliverable for the project:
- Extend the current Joomla! Updater with a secure auto-update function; Available updates need to be downloaded and their integrity has to be verified using cryptographic signatures
- Implement a CLI tool to sign Joomla updates
- Implement a centralized service triggering sites that require updates
Knowledge Prerequisite
- Must have: Knowledge of PHP
Difficulty
- Medium
Mentors
- David Jardin
More Coming Soon!
