Peta GitHub
(github.com/anvaka)-
Peta proyek GitHub
-
Ini adalah peta yang memvisualisasikan lebih dari 400.000 proyek GitHub. Setiap titik mewakili satu proyek, dan proyek dengan lebih banyak
stargazeryang sama ditempatkan lebih berdekatan. -
Bagaimana ini dibuat?
-
Pada tahap pertama, data dikumpulkan tentang pengguna mana yang memberi bintang pada repositori mana dengan menggunakan dataset publik dari event aktivitas GitHub. Dengan mempertimbangkan event dari Januari 2020 hingga Maret 2023, diperoleh lebih dari 350 juta data bintang.
-
Pada tahap kedua, dihitung kemiripan Jaccard yang akurat antara setiap repositori. Ini sulit diproses di komputer pribadi dengan RAM 24GB, tetapi dapat diselesaikan dalam beberapa jam menggunakan instance AWS EC2 dengan RAM 512GB.
-
Pada tahap ketiga, beberapa algoritme klasterisasi digunakan untuk mengelompokkan repositori. Leiden clustering paling disukai dan menghasilkan lebih dari 1000 klaster.
-
Pada tahap keempat,
ngraph.forcelayoutdigunakan untuk menghitung tata letak node di dalam klaster, dan dengan pengaturan terpisah diperoleh tata letak global klaster. -
Pada tahap kelima, peta dirender. Berbeda dari proyek sebelumnya, proyek ini menggunakan
maplibreuntuk mengonversi data ke format GeoJSON, lalu membuat tile dengantippecanoeuntuk membangun pengalaman penelusuran di browser.
-
-
Nama negara
- Banyak label negara dibuat dengan bantuan ChatGPT. Jika ada bagian yang salah, akan sangat dihargai jika Anda mengklik kanan untuk memperbaikinya dan mengirim pull request.
-
Geocoding?
- Untuk mengimplementasikan kotak pencarian, semua repositori hanya didump lalu diindeks berdasarkan huruf pertama (atau nama pembuatnya). Jika Anda mengetik 'a' di kotak pencarian, semua repositori yang dimulai dengan 'a' akan ditemukan lalu ditampilkan di klien dengan fuzzy matcher.
-
Desain
- Saya lebih menyukai representasi data proyek ini daripada desain petanya. Jika Anda punya pengalaman dalam desain peta atau memiliki visi desain yang keren, jangan ragu untuk membagikannya. Saya sedang mencari gaya yang cocok dengan datanya.
-
Dukungan
-
Jika Anda merasa proyek ini bermanfaat, silakan bergabung dengan grup dukungan. Jika Anda memerlukan bantuan terkait proyek ini atau punya pertanyaan, silakan buka issue atau hubungi lewat Twitter.
-
Terima kasih kepada teman-teman dan para pendukung yang membantu memulai proyek ini: Ryan, Andrey, Alex, Dmytro. Kalian luar biasa!
-
Terima kasih kepada putri tercinta saya, Louise, yang membuat logo proyek ini. Saya mencintaimu!
-
Terima kasih tak terhingga kepada semua kontributor open source yang memungkinkan proyek ini terwujud. Berdiri di atas bahu para raksasa.
-
-
Lisensi
- Repositori ini dirilis di bawah lisensi MIT. Jika Anda menggunakan datanya dalam karya Anda sendiri, mohon cantumkan atribusi untuk proyek ini.
1 komentar
Komentar Hacker News
Ada komentar yang merasa terkejut karena Rustland kecil dan hanya sebesar satu minggu milik Clouderra
Minigame mencari proyek tertentu hanya dengan peta tanpa fitur pencarian terasa menyenangkan
Menarik bahwa torvalds/linux berada di Fronterra, di sebelah proyek JS, daftar awesome-X, dan checklist frontend
Lucu bahwa nama bagian Among Us adalah "Sussex"
Ada kebingungan apakah metafora negara/peta adalah pilihan terbaik
Pilihan nama unik "Homelabia" terasa lucu
Pernah ada diskusi sebelumnya
Ada yang penasaran bagaimana koneksi antar-repositori ditentukan