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.
Proposal | Contact |
---|---|
OSSA (Online Services Suggestion API)Project: API Difficulty: Medium/Hard Contact: #design-dev "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:
Required skills: Machine/Deep Learning knowledge, Javascript, Sql/NoSql and at least one programming language suitable for AI. |
#design-dev |
Implementation of several rate-limit header fields for HTTP inside renowned software productsProject: API Difficulty: Hard Contact: #api 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:
|
#api |
Implement conf API GatewayProject: API Difficulty: Hard Contact: #api This project aims at setting up full fledged API Gateways capable of supporting a set of interoperability technologies like:
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 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. Required skills:
|
#api |
Design system kit for ReactProject: Design Difficulty: Medium Contact: #design-dev 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-dev |
Content Readability ValidatorProject: Developers Italia Difficulty: Hard Contact: #welcome 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. Required skills:
|
#welcome |
Your own idea!!Project: General Difficulty: Up to you Contact: #welcome Something that you're totally
excited about! 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:
|
#welcome |
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.