Google Summer of Code: information for students

Want to get involved with Google Summer of Code? Here are a few ideas

First of all, welcome!

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

Being accepted as a Google Summer of Code student is quite competitive. 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.

When writing your proposal or asking for help from the general community of Developers Italia don’t assume everyone is familiar with the ideas here.

If there is no specific contact given you can ask questions on our Slack. You can get an invite here. If you don’t know who your point of contact should be, don’t be shy, there is a channel called #welcome just for this!

Open ideas

Well prepared proposals from capable students have an outstanding chance of getting selected. We consider proposals for all skill levels ranging from simple to crazy hard and everything in between. Introduce yourself, and we’ll help you plan one right for you.

Remember that project descriptions are just initial ideas. You must expand with considerably more detail. Change the goals to fit your experience and interests.

Note for the community. Each project on the Ideas list should include:

  1. a project title/description;
  2. more detailed description of the project (2-5 sentences);
  3. expected outcomes;
  4. skills required/preferred;
  5. possible mentors.

And, if possible, an easy, medium or hard rating of each project.

Project Brief description Difficulty Contact
Developers Agave CMS
Agave is a free and open source static website generator. The Agave project is currently active and some major milestones have already been reached. As such, this GSoC project will be focused on consolidating the application in order to be considered production ready. Activities will span fullstack from the consolidation of the infrastructure technologies (i.e., prepare the easy deployment) to the templating side, where some work is needed in order to produce solid final templates.
Mentor: Ask on the #design-dev channel on our slack once you start having a basic idea.
Expected outcome: On the infrastructure side, desired outcomes involve a robust, tested and production ready dockerized environment. For what concerns the templating end, the complete implementation of the Bootstrap Italia directives has to be achieved so that the websites created by using Agave end up being 100% compatible with the Italian design guidelines.
Required skills:
  • React
  • Ruby on Rails
  • Docker and CI/CD technologies
Medium #design-dev
API Implementation of several rate-limit header fields for HTTP inside renowned software products
The aim of this project is to work on the new rate-limit header fields for HTTP internet draft. In practice, such novelty has to be implemented in the form of plugins inside world known products, such as traefik, nginx, envoy-proxy and 3scale. As such, it will also be important to interact with the already existing communities built around those tools to ensure the code gets merged.
Mentor: Ask on the #api channel on our slack once you start having a basic idea.
Expected outcome: Working plugins for traefik, nginx, envoy-proxy et al. implementing the rate-limit headers. The student should provide a working environment for testing the implementations.
Required skills:
  • Golang, JS, Python, Java, C depending on the target platform
  • Basic Linux knowledge
  • Docker and CI/CD related technologies
Hard #api
API Implement conf API Gateway
This project aims at setting up full fledged API Gateways capable of supporting a set of interoperability technologies like:
  • exposing APIs via OpenAPI3 specifications;
  • returning RateLimit header fields;
  • return errors conformant to RFC7807 (Problem Details for HTTP APIs).
Students will study, install and setup opensource API gateways and reverse proxies like Kong, 3scale, Nginx, WSO2 ensuring that the exposed features are implemented in the more standard way. Where those features require implementing plugins, filters or integration components, students should do it previously contacting the gateway communities. For the ratelimit part, they will interact with students working on proposal#2.
Mentor: Ask on the #api channel on our slack once you start having a basic idea.
Expected outcome: The outcome is a docker-compose or helm chart providing a redundant setup of an API Gateway infrastructure, useful to expose APIs descibed by OAS3 specification files.
Required skills:
  • Docker and CI/CD related technologies
  • HTTP protocol
  • Python, Java, C depending on the target platforms.
  • Optional: Kubernetes
Hard #api
Design Design system kit for React
Complete the Designers Italia Design React Kit by updating its dependencies and add/fix any missing components. Update the Storybook and improve documentation to make things easier for users. On a separate repository, implement a Gatsby template in order to ease the adoption of the kit within the public administration and spread its usage.
Mentor: Designers or developers from the Designers Italia team.
Expected outcome: A new stable version of the Design React Kit, implementing most of the components from Bootstrap Italia, and a Gatsby template that is easy to use and fully compliant with accessibility rules. This project can be used as a solid starting point: Required skills:
  • Design systems
  • Javascript/ES/React
  • Basic understanding of StorybookJS and GatsbyJS
Medium #design-dev
Design A Wordpress theme for municipalities
Create a Wordpress theme for municipalities based on the Italian design system. The code will be crafted upon Bootstrap Italia in order to adhere to the HTML templates that are already provided by Designers Italia. Wordpress content types and taxonomy will be consistent with the guidelines available on the information architecture for municipalities websites document. The Designers Italia community already created two Wordpress themes: These themes are built for general purpose public websites and they may not be entirely validated in terms of accessibility or fully up-to-date. Nevertheless, they can serve as a starting point for the municipalities theme.
Mentor: Designers or developers from the Designers Italia team.
Expected outcome: A working Wordpress theme for municipalities based on the Italian design system and ready to be used by any municipality for their own website, with a clear documentation and licensing. The project outcome should aim to the quality of Designers Italia's Wordpress theme for schools.
Required skills:
  • Design systems and web development
  • Wordpress plugins and theming best-practices
  • Understanding of information architecture
Medium #design-cms-themes
Design A Drupal theme for municipalities
Create a Drupal theme for municipalities based on the Italian design system. The code will be crafted upon Bootstrap Italia in order to adhere to the HTML templates that are already provided by Designers Italia. Drupal content types and taxonomy will be consistent with the guidelines available on the information architecture for municipalities websites document. There is already a Drupal theme for general purpose public websites that can serve as a starting point for the municipalities theme: https://www.drupal.org/project/bootstrap_italia.
Mentor: Designers or developers from the Designers Italia team.
Expected outcome: A working Drupal theme for municipalities based on the Italian design system and ready to be used by any municipality for their own website, with a clear documentation and licensing. The project outcome should aim to the quality of Designers Italia's Wordpress theme for schools.
Required skills:
  • Design systems and web development
  • Drupal plugins and theming best-practices
  • Understanding of information architecture
Medium #design-dev
General Your own idea!!
Something that you're totally excited about!
Do you have an awesome idea you want to work on with Developers Italia but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of Developers Italia. That will spare you and us a lot of frustration.
Mentor: Propose your idea and ask who in Developers Italia is interested in what you want to work on and approach them. If you are unsure you can always ask in #welcome.
Expected outcome: To be discussed with your mentor...
Required skills:
  • Up to you :-)
Up to you #welcome
back to contents