Google Summer of Code: informazioni per gli studenti
Vuoi partecipare al programma? Qui di seguito trovi alcune idee
Innanzitutto, benvenuti!
La partecipazione al Google Summer of Code prevede la presentazione di proposte progettuali, da parte degli studenti interessati a partecipare, inerenti i progetti sviluppati dall’organizzazione Developers Italia. Queste proposte verranno valutate sia dagli organizzatori che dai responsabili di Developers Italia per verificarne l’adeguatezza e la fattibilità nel periodo previsto dal programma. Per facilitare questa fase, alcuni sviluppatori e membri della community di Developers Italia hanno messo a disposizione alcune idee consultabili nella tabella sottostante.
Nota bene: a volte le idee presenti in questa lista potrebbero essere vaghe o incomplete. Se vuoi sottomettere una proposta basata su queste idee ti consigliamo di contattare direttamente il responsabile del progetto per conoscerne i dettagli e capire come procedere.
La selezione per l’iniziativa Google Summer of Code è molto competitiva. Normalmente gli studenti accettati hanno studiato a fondo le tecnologie che compongono i progetti presentati e sono stati in contatto frequente con i potenziali mentor. Un semplice copia-incolla di una di queste idee all’interno della candidatura da presentare a GSoC non basta. D’altro canto, la creazione di un’idea da zero senza aver precedentemente contattato i potenziali mentor ha anch’essa scarse possibilità di essere accettata.
Se non ci dovesse essere indicato un contatto specifico per le domande è possibile chiedere direttamente su Slack. Puoi richiedere un accesso qui. Se non sai a chi chiedere non essere timido, il canale #welcome è dedicato proprio a questo! Nella domanda specifica il progetto che ti interessa con eventuali puntatori a risorse.
Idee
Le proposte ben preparate e presentate da studenti volenterosi hanno molte possibilità di essere selezionate. Saranno considerate proposte per tutti i livelli di difficoltà, da semplici a molto complesse. Presentati e ti aiuteremo a costruire una proposta adeguata.
Ricorda che le descrizioni dei progetti che trovi qui sotto sono solo idee iniziali. Per questo motivo saranno da espandere in dettaglio e da personalizzare in base alla tua esperienza e ai tuoi interessi.
Note per la community. Ogni progetto nella lista delle idee deve includere:
- un titolo e una descrizione;
- una descrizione dettagliata (2-5 frasi);
- risultati attesi;
- competenze richieste/preferite;
- possibile mentor.
E, se possibile, un’indicazione del livello di difficoltà del progetto (facile, media, difficile).
Progetto | Breve Descrizione | Difficoltà | Contatto |
---|---|---|---|
Developers |
Agave CMS Agave è un CMS open source adatto alla generazione di siti web statici. Il progetto Agave è attualmente attivo e sono già state raggiunte diverse milestone major. Questo progetto GSoC sarà quindi focalizzato sul consolidamento dell'applicativo in modo da renderlo production ready. Le attività saranno di tipo fullstack e varieranno dal consolidamento delle tecnologie di infrastruttura (i.e., preparare il deployment rapido) ad attività legate al templating engine in modo da produrre risultati aderenti alle ultime normative e linee guida di Design. Mentor: Chiedi su #design-dev nel nostro Slack non appena ti sarai fatto un'idea più chiara sul progetto. Risultati attesi: Lato infrastruttura i risultati attesi comprendono il raggiungimento di un ambiente docker-based robusto, stabile, testato e production-ready. Per quanto concerne gli aspetti di template il risultato atteso è l'implementazione completa del framework Bootstrap Italia in modo tale da garantire che il sito prodotto da Agave sia pienamente compatibile con le linee guida italiane di Design. Competenze richieste:
|
Media | #design-dev |
API |
Implementazione di una serie di header HTTP di rate-limit all'interno di diversi prodotti software Lo scopo di questo progetto è di lavorare sui nuovi header HTTP di rate-limit contenuti nell'Internet Draft. In pratica, questa novità dev'essere implementata sotto forma di plugin all'interno di software di rilevanza internazionale quali ad esempio traefik, nginx, envoy-proxy e 3scale. Di conseguenza, sarà anche necessario interagire con altre community già esistenti in modo da assicurarsi che i contributi vengano recepiti correttamente all'interno delle rispettive codebase. Mentor: Chiedi sul canale #api del nostro slack appena hai un'idea più concreta riguardante il progetto. Risultati attesi: Plugin funzionanti per traefik, nginx, envoy-proxy etc. che implementano gli header di rate-limit. Inoltre, è necessario fornire un environment funzionante per testare le implementazioni proposte. Competenze richieste:
|
Difficile | #api |
API |
Configurazione di alcuni API Gateway Questo progetto mira ad impostare degli API gateway in grado di supportare un set di caratteristiche chiave per l'interoperabilità quali:
Mentor: Chiedi nel canale #api sul nostro slack appena hai un'idea chiara sul progetto. Risultati attesi: Il risultato atteso è un docker-compose o un helm chart in grado di fornire un setup ridondato di un'infrastruttura gateway per esporre API descritte da una specifica OAS3. Competenze richieste:
|
Difficile | #api |
Design |
Design system kit per React Completamento del Design Kit React di Designers Italia tramite l'aggiornamento delle sue dipendenze e l'aggiunta o la correzione di componenti ad oggi mancanti. Inoltre, sarà necessario aggiornare lo Storybook e migliorare la documentazione in modo da rendere l'esperienza più semplice per l'utente. Su un repository separato, dovrà essere implementato un template Gatsby per facilitare l'adozione del kit all'interno delle pubbliche amministrazioni ed aumentarne il riuso. Mentor: Designers o sviluppatori del team di Designers Italia. Risultati attesi: Una versione stabile del Design React Kit che contenga la maggior parte dei componenti di Bootstrap Italia e un template Gatsby facile da usare e conforme con le regole sull'accessibilità. Questo progetto può essere usato come solida base di partenza:
|
Media | #design-dev |
Design |
Un tema Wordpress per i comuni Creare un tema Wordpress per i comuni basato sul design system italiano. Il codice sarà costruito basandosi su Bootstrap Italia in modo da garantire l'adesione ai template HTML che sono già forniti da Designers Italia. I content type e la tassonomia dovranno essere consistenti con le linee guida presenti all'interno del documento sull' architettura dell'informazione. La community di Designers Italia ha già creato due temi Wordpress:
Mentor: Designers o sviluppatori del team di Designers Italia. Risultati attesi: Un tema Wordpress funzionante per i comuni basato sul design system italiano e pronto per essere usato da qualsiasi comune nel proprio sito web, arricchito da una documentazione chiara e una licenza open source. Il risultato deve rispettare la qualità del tema Wordpress per le scuole di Designers Italia. Competenze richieste:
|
Media | #design-cms-themes |
Design |
Un tema Drupal per i comuni Creare un tema Drupal per i comuni basato sul design system italiano. Il codice sarà costruito basandosi su Bootstrap Italia in modo da garantire l'adesione ai template HTML che sono già forniti da Designers Italia. I content type e la tassonomia dovranno essere consistenti con le linee guida presenti all'interno del documento sull'architettura dell'informazione. Esiste già un tema Drupal per siti web general purpose che può servire come punto di partenza per il tema dei comuni: Mentor: Designers o sviluppatori del team di Designers Italia. Risultati attesi: Un tema Wordpress funzionante per i comuni basato sul design system italiano e pronto per essere usato da qualsiasi comune nel proprio sito web, arricchito da una documentazione chiara e una licenza open source. Il risultato deve rispettare la qualità del tema Wordpress per le scuole di Designers Italia. Competenze richieste:
|
Media | #design-cms-themes |
Generale |
La tua idea!! Qualcosa che ti piacerebbe molto fare! Hai un'idea brillante da sviluppare insieme a Developers Italia ma che non è presente in questa lista? Nessun problema! Per cortesia, però, facci un favore: mettiti in contatto con un mentor al più presto per assicurarti che il progetto sia realizzabile e compreso nello scopo di Developers Italia. Questo sforzo ci risparmierà molte frustrazioni. Mentor: Proponi la tua idea e chiedi in Developers Italia se c'è qualcuno interessato per lavorare insieme a te. Se non sai a chi chiedere puoi sempre scrivere su #welcome. Risultati attesi: Da discutere con il tuo mentor. Competenze richieste:
|
Decidi tu | #welcome |