Mapa de GitHub
(github.com/anvaka)-
Mapa de proyectos de GitHub
-
Es un mapa que visualiza más de 400,000 proyectos de GitHub. Cada punto representa un proyecto, y los proyectos con más stargazers en común se ubican más cerca entre sí.
-
¿Cómo fue creado?
-
En la primera etapa, se usó el conjunto de datos públicos de eventos de actividad de GitHub para recopilar datos sobre qué usuarios dieron estrella a qué repositorios. Considerando los eventos desde enero de 2020 hasta marzo de 2023, se obtuvieron más de 350 millones de datos de estrellas.
-
En la segunda etapa, se calculó la similitud exacta de Jaccard entre cada repositorio. Era difícil procesarlo en una computadora personal con 24 GB de RAM, pero usando una instancia de AWS EC2 con 512 GB de RAM se procesó en pocas horas.
-
En la tercera etapa, se usaron varios algoritmos de clustering para agrupar los repositorios. Se prefirió especialmente el clustering de Leiden, con el que se generaron más de 1000 clústeres.
-
En la cuarta etapa, se usó
ngraph.forcelayoutpara calcular el layout de los nodos dentro de los clústeres, y con una configuración aparte se obtuvo el layout global de los clústeres. -
En la quinta etapa, se renderizó el mapa. A diferencia de proyectos anteriores, se usó
maplibrepara convertir los datos al formato GeoJSON, y contippecanoese generaron los tiles para construir la experiencia de navegación en el navegador.
-
-
Nombres de países
- Muchas etiquetas de países fueron generadas con ayuda de ChatGPT. Si hay algo incorrecto, se agradecería que hicieran clic derecho para corregirlo y enviaran un pull request.
-
¿Geocodificación?
- Para implementar el cuadro de búsqueda, simplemente se volcó la información de todos los repositorios y se indexó por la primera letra (o por el nombre del autor). Si escribes 'a' en el cuadro de búsqueda, encuentra todos los repositorios que empiezan con 'a' y los muestra en el cliente con un fuzzy matcher.
-
Diseño
- En este proyecto se prefiere más la representación de los datos que el diseño del mapa. Si tienes experiencia en diseño de mapas o una visión de diseño interesante, no dudes en compartirla. Se está buscando un estilo que se ajuste a los datos.
-
Apoyo
-
Si crees que este proyecto es útil, se agradecería que te unas al grupo de apoyo. Si necesitas ayuda con el proyecto o tienes preguntas, abre un issue o ponte en contacto por Twitter.
-
Gracias a los amigos y patrocinadores que ayudaron a iniciar el proyecto: Ryan, Andrey, Alex, Dmytro. ¡Son increíbles!
-
Gracias a la querida hija Louise por crear el logo de este proyecto. ¡Te quiero!
-
Un agradecimiento infinito a todos los contribuidores de código abierto que hicieron posible este proyecto. Está construido sobre los hombros de gigantes.
-
-
Licencia
- Este repositorio se publica bajo la licencia MIT. Si usas los datos en tu propio trabajo, se agradecería que citaras este proyecto como fuente.
1 comentarios
Comentarios en Hacker News
Hay una opinión que expresa sorpresa de que Rustland sea pequeño y apenas equivalga a una semana de Clouderra
Es divertido el minijuego de encontrar proyectos específicos solo con el mapa, sin función de búsqueda
Es interesante que torvalds/linux esté en Fronterra, junto a proyectos de JS, listas awesome-X y checklists de frontend
Dio risa que la sección de Among Us se llame "Sussex"
Hay confusión sobre si la metáfora de país/mapa es realmente la mejor opción
Es divertida la elección del nombre tan peculiar "Homelabia"
Hubo una discusión anterior
Hay curiosidad por cómo se determinan las conexiones entre repositorios