Circa un anno fa ho avviato verto.sh, un sito web che ti aiuta a trovare un progetto per il tuo prossimo contributo open source. Ci ho lavorato (insieme ad altri contributor!) nel mio tempo libero e sono entusiasta di condividerlo con voi.
Cos'è verto.sh?
verto.sh è un sito web che ti aiuta a trovare un progetto per il tuo prossimo contributo open source. È un sito semplice che mostra un elenco di progetti su GitHub con issue aperte etichettate come good first issue o help wanted (configurabile nel codice sorgente). Puoi filtrare i repository per linguaggio di programmazione o tag e ordinarli per stelle. verto.sh è gratuito e open source, ispirato a DeepSourceCorp/good-first-issue, che ora non è più mantenuto e aggiornato. Volevo creare un progetto simile, ma con alcune differenze:
Criteri più severi per l'aggiunta di un repository al sito
Più filtri e opzioni di ordinamento
Una migliore esperienza utente
Costi operativi ridotti per mantenere il progetto attivo a lungo in autonomia
Come funziona?
verto.sh è un sito statico generato con Next.js (e quindi React.js), TypeScript e TailwindCSS. Il codice sorgente è disponibile su GitHub:
Lo script data/get.ts recupera i dati dei repository dall'API di GitHub ed è stato recentemente aggiornato per utilizzare l'API GraphQL per ragioni di performance e limitazione del rate. Una volta recuperati i dati, lo script genera un file JSON utilizzato dal sito per visualizzare i repository. Il sito statico viene poi distribuito su GitHub Pages ogni 24 ore tramite GitHub Actions.
Come posso contribuire?
Ci sono molti modi per contribuire a verto.sh: ad esempio, ci sono alcune issue aperte in cerca di un contributor e siamo sempre aperti a feedback e richieste di funzionalità. Il repository contiene una guida dettagliata su come contribuire al progetto, ma ecco un breve riepilogo:
Fai il fork del repository, clonalo in locale e assicurati di avere una versione recente di Node.js installata
Usa il file data/data.json incluso per testare il sito in locale
Installa le dipendenze con
npm installAvvia il server di sviluppo con
npm run dev
Inoltre, il repository contiene la configurazione per Prettier e ESLint per garantire qualità e coerenza del codice (in aggiunta a quanto già fornito da TypeScript). Puoi eseguire npm run lint per verificare eventuali problemi, o lasciare che il pre-commit hook se ne occupi automaticamente. Nella pipeline CI vengono eseguiti controlli analoghi.
Se lo sviluppo software non fa per te, puoi comunque contribuire al progetto aiutandoci a far crescere la community e diffondere la voce su verto.sh. Puoi farlo aggiungendo una stella al repository, condividendolo con amici e colleghi, oppure aggiungendo il tuo repository al sito.
Come posso aggiungere il mio repository al sito?
Se hai un repository su GitHub che vuoi aggiungere a verto.sh, puoi farlo aprendo una pull request al repository e aggiungendo il tuo repository al file config.json. Per mantenere la qualità dei progetti su verto.sh, il tuo repository deve soddisfare alcuni criteri:
Avere almeno tre issue con l'etichetta
good-first-issueo altre etichette definite in config.json (vedilabelsin fondo)Avere almeno 10 contributor
Avere almeno 1000 stelle
Contenere un file
README.mdcon istruzioni di setup dettagliate per il progetto, e un fileCONTRIBUTING.mdcon linee guida per i nuovi contributorEssere mantenuto attivamente (ultimo aggiornamento meno di 1 mese fa)
Non vedo l'ora di vedere la tua pull request!

Cosa c'è dopo?
verto.sh è un progetto giovane e molte cose possono essere migliorate. Ecco alcune delle cose su cui io e 17+ contributor stiamo lavorando:
Supporto per i repository GitLab
Ordinamento per numero di fork e issue aperte
Una pagina di ricerca
Un redesign del sito
Vari altri miglioramenti e correzioni di bug relativi a performance e usabilità
Sentiti libero di contribuire a qualsiasi di queste issue o di aprirne una nuova se hai un'idea per una nuova funzionalità o miglioramento!
Riepilogo
verto.sh è un sito web che ti aiuta a trovare un progetto per il tuo prossimo contributo open source, è gratuito e open source, costruito dalla community per la community. Puoi contribuire al progetto in vari modi — e ti incoraggio a farlo. Se hai domande o feedback, non esitare a contattarmi!
lucavallin

