SpeedupAmerica memberikan kebenaran di lapangan tentang internet di Amerika. Peta broadband nasional dan lokal kami memberikan transparansi: kecepatan internet nyata yang diterima, harga aktual yang dibayarkan, dan tingkat layanan yang dialami. Informasi ini membantu memandu investasi publik dan swasta dalam infrastruktur internet ke tempat -tempat yang paling membutuhkannya. Kami juga melihat pendekatan ini sebagai solusi yang lebih baik untuk pemetaan broadband nasional daripada yang saat ini digunakan oleh FCC.
Jika Anda seorang pengembang perangkat lunak, kami akan senang bantuan Anda dan kami dapat membayar Anda untuk waktu Anda!
Mudah untuk berspekulasi tentang bidang apa yang memiliki akses internet yang lambat, tetapi tanpa data, hampir tidak mungkin untuk mengetahui siapa yang mendapatkan layanan yang baik dan andal dan di mana ada peluang untuk perbaikan. Informasi yang akurat tentang ketersediaan penyedia layanan internet, harga aktual yang dibayarkan, dan kecepatan nyata yang diterima sangat sulit didapat. Ada kekurangan data dan informasi nyata tentang area yang kurang terlayani. Di sinilah komunitas di Oregon dan di seluruh negara membutuhkan bantuan.
Dalam kemitraan dengan kami Ignite, upaya ini bekerja untuk memajukan teknologi yang awalnya dibangun di Louisville Kentucky yang membantu upaya inklusi digital City, dan membuatnya tersedia untuk semua kota dan komunitas pedesaan di seluruh Amerika.
Solusi yang dibayangkan menggabungkan hasil uji kecepatan internet crowdsourced dengan peta seluruh Amerika Serikat yang dapat difilter berdasarkan negara, kode pos, saluran sensus, blok Cencus dan batas statistik lainnya.
Pada akhirnya, kami percaya alat ini akan memberi kami data di lapangan yang paling akurat tentang apa yang sebenarnya terjadi dalam hal konektivitas internet di seluruh Amerika. Dan, ini dapat berfungsi sebagai titik awal untuk percakapan antara tetangga, pejabat terpilih, dan penyedia layanan internet.
Tujuan dari proyek ini adalah untuk meningkatkan kesadaran akan ketidakadilan dalam kecepatan dan kualitas internet yang diberikan kepada semua orang di AS. Jika Anda memiliki pertanyaan tentang apa pun, silakan bergabung dengan percakapan.
Selamat datang!
Implementasi SpeedupAmerica saat ini telah meningkatkan untuk mencakup negara bagian Oregon pada Juni 2019. Washington dan Idaho ditambahkan pada Juli 2019. Batas negara bagian dan daerah ditambahkan sekitar Agustus 2019.
Proyek ini dapat digunakan sebagai bagian dari strategi inklusi digital untuk mempelajari di mana ketidakadilan berada di komunitas Anda. SpeedupAmerica dapat membantu warga negara, bisnis, pembuat kebijakan, dan orang lain lebih memahami di mana orang Amerika dapat mengakses layanan internet berkualitas tinggi, dan di mana ada kebutuhan, memungkinkan kota untuk melacak dan meningkatkan kinerja melalui kebijakan utama, perjanjian ISP, dan kemitraan.
Semua peta inklusi digital saat ini bergantung pada data FCC 477 yang dilaporkan sendiri ISP, terkenal tidak lengkap, menyesatkan, dapat dinikmati oleh ISP, dan tidak cukup detail. Mari kita menjadi lebih baik, lebih akurat, data kecepatan kerumunan langsung dari warga negara untuk membuat keputusan yang lebih baik dan mendorong kebijakan.
Pada bulan Maret 2019, Louisville bekerja dengan komunitas teknologi di Eugene, Oregon dan Hack untuk alasan untuk mengembangkan basis kode yang dapat skala menjadi peta nasional terpadu tunggal.
Aplikasi baru ini, speedupamerica.com, mengumpulkan dan secara publik berbagi informasi bersumber dari kerumunan tentang kecepatan layanan broadband lokal, harga yang dibayarkan, dan kualitas layanan di seluruh Amerika. Ini juga menggabungkan tes testit dan tes laboratorium pengukuran (yang terintegrasi dengan google.com) dan sangat meningkatkan jumlah tes yang dikumpulkan oleh aplikasi.
Pada bulan April 2016, tim inovasi OPI2 Louisville Metro Government, PowerUp Labs dan mitra lainnya meluncurkan aplikasi berbasis web yang bertujuan untuk meningkatkan transparansi tentang kualitas layanan internet di Louisville di hackathon. Louisville bekerja mitra untuk "speedup" open source sehingga pemerintah atau organisasi lokal mana pun dapat meluncurkan aplikasi ini untuk komunitas mereka.
Proyek SpeedUplouisville.com secara oreginal dimulai di hackathon sipil setempat yang dipimpin oleh Civic Data Alliance dan di -host oleh Code Louisville dan Code for America. Eric Littleton, Jon Matar dan tim pengembangan perangkat lunak PowerUp Labs kemudian mengajukan diri untuk melanjutkan pekerjaan yang dimulai selama hackathon. LVL1, ruang pembuat lokal, juga menyediakan dana untuk alat web berbayar yang diperlukan untuk menyelesaikan proyek.
Data ditampilkan pada peta interaktif dan tersedia untuk diunduh gratis, dengan tujuan meningkatkan transparansi tentang kualitas layanan internet di Amerika dan untuk melanjutkan percakapan di sekitar akses internet di komunitas Anda. Warga dapat mengunjungi situs tersebut dari perangkat apa pun untuk mengikuti tes layanan internet gratis, dan dilengkapi dengan tes M-LAB Google. Data yang disediakan oleh tes dan survei singkat disimpan dalam database yang tersedia untuk umum, dikombinasikan dengan hasil lainnya, dan diterbitkan ke peta online dalam bentuk yang tidak mengidentifikasi kontributor, dan memungkinkan pengunduhan data mentah langsung.
Tes ini tidak mengumpulkan informasi tentang lalu lintas internet pribadi seperti email, pencarian web, atau informasi yang dapat diidentifikasi secara pribadi lainnya.
Proyek SpeedupAmerica menggunakan teknologi berikut untuk operasi:
Instruksi ini berfungsi di Linux, Windows, dan MacOS dan hanya perlu dilakukan sekali, kecuali jika Anda mengatur ulang basis data atau mengkonfigurasi file.
Instal Git Windows/Mac/Linux
Instal Docker dan Docker Compose (Docker Compose sudah disertakan dengan instalasi Mac dan Windows Docker, tetapi bukan Linux. Harap perhatikan juga pemasangan Win Home berbeda dari Pro).
Diperlukan minimal 6GB alokasi memori lokal. Setelah memulai Docker, masuk ke pengaturannya dan sesuaikan jumlah memori yang diizinkan untuk digunakan.
Memory - Docker Desktop untuk Mac
Memori - Docker Desktop untuk Windows
Bergantung pada OS Anda, Anda mungkin harus memastikan untuk menggunakan
copy, bukancp.
$ git clone https://github.com/Hack4Eugene/SpeedUpAmerica.git
$ git clone https://github.com/Hack4Eugene/speedupamerica-migrator.git
$ cd SpeedUpAmerica
$ cp local.env.template local.env
$ docker-compose up -d mysql
$ docker-compose up --build migrator
$ docker-compose run migrator rake db:seed
$ docker-compose run frontend rake secret Temukan local.env Anda di akar direktori SpeedupAmerica yang sekarang berada di sistem lokal Anda. Gunakan output string alfanermeric panjang dari rake secret sebagai nilai untuk SECRET_KEY_BASE . Pergi ke MapBox dan buat akun gratis, untuk mendapatkan token akses API Mapbox. Gunakan dan atur token pulik default sebagai MAPBOX_API_KEY Anda di file local.env .
Instruksi ini menganggap pengguna Windows tidak menggunakan WSL, yang telah mendokumentasikan masalah dengan Docker's Bind Mounts. Menginstal dan mengkonfigurasi Docker untuk Windows bekerja dengan WSL berada di luar ruang lingkup dokumen ini.
Unduh salah satu dari dua file SQL dan letakkan di Direktori data Proyek:
Kontributor: Jika Anda memperbarui salah satu file ini, pastikan untuk mengubah nama file dan memperbarui semua referensi dalam dokumen ini.
Ganti nama file dan jalankan baris ini:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d Situs ini dapat diakses di http://localhost:3000/ . Aplikasi Ruby dikonfigurasi untuk tidak cache dan tidak perlu memulai kembali wadah Docker untuk memuat perubahan, kecuali itu adalah perubahan konfigurasi. Buat saja perubahan Anda dan muat ulang halaman. Muat halaman pertama membuat sedikit. Lihat docker-compose logs frontend untuk Stdout/Stderr.
docker-compose.yml mencakup wadah hub Jupyter berdasarkan jupyter/datascience-notebook . Ini termasuk beberapa modul Python tambahan untuk bekerja dengan MySQL dan MapBox. Setelah mengatur database dan memuat dataset, Anda dapat memulai Jupyter Hub dengan menjalankan docker-compose up notebooks . Setelah siap, itu akan menghasilkan URL dan token yang perlu Anda gunakan untuk mengakses hub Jypyter di browser Anda. Notebook dan file lainnya disimpan di ./notebooks , pastikan untuk check -in dan PR notebook baru/diperbarui.
$ docker-compose stopJika situs tidak memuat dengan benar pada localhost setelah menarik perubahan baru dari git dan memulai kembali Docker, coba yang berikut:
# Show the docker tasks and their exit statuses
$ docker-compose ps
# You might also be interested in seeing the logs for a failing process
# Choose the option below for the process you're interested in:
$ docker-compose logs frontend
$ docker-compose logs migrator
$ docker-compose logs mysql Jika docker-compose ps menunjukkan "Exit 1" untuk proses apa pun, satu kemungkinan penyebabnya adalah bahwa gambar Docker proses perlu dibangun kembali. Ini umumnya karena ketergantungan yang telah berubah sejak terakhir kali Anda membangun gambar. Petunjuk tambahan bahwa ini adalah penyebabnya adalah jika log menunjukkan kesalahan yang menunjukkan bahwa ketergantungan tidak dapat ditemukan.
Untuk menyelesaikan ini, membangun kembali gambar Docker untuk proses spesifik itu. Misalnya, jika proses frontend keluar dengan status kesalahan:
$ docker-compose up --build frontend Jika docker-compose ps terus melemparkan kesalahan "Keluar 1" untuk proses apa pun setelah membangun kembali frontend, harap pastikan bahwa izin firewall mesin Anda memungkinkan aplikasi. Setelah Anda mengatur izin firewall, Anda harus menutup alur kerja, restart Docker, dan restart aplikasi.
Jika setelah mengaktifkan penganiayaan firewall Anda, Anda masih mengalami masalah dengan "Exit 1", Anda mungkin perlu menghapus TMP/PIDS/Server.PID dan kemudian docker-compose up -d
Instalasi di Ubuntu.
Menjalankan lingkungan secara lokal pada OS berbasis Linux dapat memerlukan menjalankan perintah docker-compose sebagai pengguna super, sudo docker-compose [commands] .
Berikut adalah panduan untuk mengelola Docker sebagai pengguna non-root.
Dengan asumsi Anda memiliki file
.sqlterbaru yang diunduh dari instruksi pengaturan.
Ketika batas diperbarui, setiap pengembang harus memuat ulang batasannya. Karena batas -batas baru juga dapat memerlukan penambahan kolom ke tabel pengiriman, yang terbaik adalah memuat ulang basis data Anda sepenuhnya.
$ docker-compose stop mysql
$ docker-compose rm mysql
$ docker-compose up mysql
$ docker-compose up --build migrator
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/sua_20190803.sqlSaat memperbarui file SQL, pastikan untuk menghapus peringatan dari baris pertama file.
Pastikan untuk mengganti <date> dengan tanggal hari ini dalam format ringkas (mis. 20190801 ).
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sqlIkuti tiga bagian berikutnya untuk mengunduh data terbaru, menghapus tabel Batas Anda, dan memuat data. Anda hanya harus mengikuti arah ini jika menghapus DB Anda dan memuat dump SQL terakhir bukanlah suatu opsi.
Mengasumsikan Anda memiliki file -file ini dalam data/ :
Untuk Linux dan MacOS silakan gunakan yang berikut:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "Untuk OS Windows, silakan gunakan yang berikut:
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
Setiap malam lingkungan pengujian dan produksi menjalankan proses impor data, yang mengimpor data M-LAB terbaru, memperbarui batas, menghitung ulang cache, dan tugas terkait data lainnya.
Beberapa langkah dari proses impor malam hari memerlukan kunci layanan BigQuery dengan akses ke data laboratorium pengukuran.
Proses malam dimulai dengan menjalankan ./update_data.sh . Di lingkungan lokal Anda, Anda bisa:
$ docker-compose run frontend ./update_data.shMembutuhkan kunci layanan BigQuery dengan akses ke data lab pengukuran.
$ docker-compose run frontend rake import_mlab_submissions$ docker-compose run frontend rake populate_missing_boundaries$ docker-compose run frontend rake update_providers_statistics $ docker-compose run frontend rake update_stats_cache
Lihat Contributing.md.
Komite:
Komite Teknis: