Google Summer of Code: information for students
Want to get involved with Google Summer of Code? Here are a few ideas!
Dear GSoC Student….
first of all, welcome here! Developers Italia is very pleased to have you here.
Below you will find a list of ideas contributed by the Developers Italia community. They are intended as basic suggestions to stimulate your thinking process. You can use them as guidelines to make sure you come up with a great proposal, but feel free to expand and add your personal spin to it.
We’re happy to discuss them further, of course. If you would like to submit a proposal based on these suggestions, you might want to contact the developers first and find out more about the specific suggestion you are looking at.
Important Note: Please remember that all Project Ideas for GSoC 2021 are meant to be ~175 hour projects, so don’t add too many features to your proposal. We prefer small but manageable projects instead of proposals that try to include everything and will not be completed later in the summer.
Keep a few more things in mind:
It’s quite competitive to be accepted as a Google Summer Code student. Accepted students have usually thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Just copying and pasting an idea here is not going to work. On the other hand, creating a completely new idea without first consulting potential mentors is also unlikely to work.
When writing your proposal or asking for help from the General Community of Developers Italia, don’t assume that everyone here knows the ideas.
If you do not have a specific contact, you can ask questions by joining our public Slack. You can get an invitation by simply visiting the link above. If you don’t know who your point of contact should be, don’t be shy, there’s a channel called #welcome for this one! You may see some Italian pop up from time to time (especially from guests), but we all speak English (and interact solely in it for anything related to code). Don’t be afraid to ask any of your questions.
Remember, this is just the start…
Well-prepared proposals from able students have an excellent chance of being selected. We consider proposals for all skill levels, ranging from simple to insane, and everything in between. Introduce yourself, and we’re going to help you plan one right for you.
Remember that project descriptions are only initial ideas. You need to expand them with considerably more detail. Change the goals to suit your experience and interests.
OSSA (Online Services Suggestion API)
"OSSA" aims to reduce the time spent by users looking for desired online services. The project aspires to develop a generic and configurable API, able to suggest online services available in a catalog. Suggestions should be based on user's data, users activities, etc. without sensitive-data. "OSSA" should collect data only from completed Online Services usages, using these data for future predictions. Multiple service providers have to be taken into account, each with its own set of online services, but only one multi-tenant identity provider. No data should be stored in users' clients and all computation should be server side.
Mentor: Alessandro Atria. Ask on the #api channel on our slack once you start having a basic idea.
Expected outcome: A working prototype with:
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.
Implement conf API Gateway
This project aims at setting up full fledged API Gateways capable of supporting a set of interoperability technologies like:
Mentor: Ask on the #api channelon 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.
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:
Content Readability Validator
Project: Developers Italia
This project aims to create a webapp that evaluates the readability of public administration contents (including the Gulpease index) and proposes changes on elements (lexical, syntactic, structural ...) that can be improved. The backend should be populated through a Machine Learning process and contain a knowledge base with data and rules used for checks and suggestions.
Mentor: Saverio Pulizzi / Andrea Stagi
Expected outcome: A robust, tested, user friendly and production ready dockerized webapp to evaluate readability of public administration contents.
Your own idea!!
Difficulty: Up to you
Something that you're totally
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...
For those already in the community
If you’ve got more proposals, we’d love to add them here. Please contact Riccardo Iaconelli to insert your project. Alternatively, feel free to open a pull request and add your project to it.
If you have more proposals, we’d love to add them here. Please contact Riccardo Iaconelli to insert your project. Alternatively, feel free to and add your project.
Bear in mind that these tasks should be finished in 175 hours.
Each project in the Ideas list should include:
- a project title/description;
- more detailed description of the project (2-5 sentences);
- expected outcomes;
- skills required/preferred;
- possible mentors.
And, if possible, an easy, medium or hard rating for each project.