يوفر SpeeduPamerica حقيقة على الإنترنت حول الإنترنت في أمريكا. توفر خرائط النطاق العريض الوطنية والمترجمة الشفافية: سرعات إنترنت حقيقية وردت ، الأسعار الفعلية المدفوعة ، ومستوى الخدمة. تساعد هذه المعلومات في توجيه الاستثمارات العامة والخاصة في البنية التحتية للإنترنت إلى الأماكن التي تحتاجها أكثر من غيرها. نرى أيضًا هذا النهج كحل أفضل لرسم الخرائط الوطنية للنطاق العريض من تلك التي تستخدمها FCC حاليًا.
إذا كنت مطور برامج ، فإننا نحب مساعدتك ويمكننا أن ندفع لك مقابل وقتك!
من السهل التكهن حول مجالات المجتمع التي لديها إمكانية الوصول إلى الإنترنت بطيئة ، ولكن بدون البيانات ، يكاد يكون من المستحيل معرفة من الذي يحصل على خدمة جيدة وموثوقة ومكان وجود الفرص للتحسين. من الصعب للغاية الحصول على معلومات دقيقة عن توفر مقدمي خدمات الإنترنت ، والأسعار الفعلية المدفوعة ، والسرعات الحقيقية المستلمة. هناك نقص في البيانات والمعلومات الحقيقية حول المناطق المحرومة. هذا هو المكان الذي تحتاج فيه المجتمعات في ولاية أوريغون وفي جميع أنحاء البلاد إلى المساعدة.
بالشراكة مع الولايات المتحدة ، يعمل هذا الجهد على تعزيز التكنولوجيا التي تم بناؤها في الأصل في لويزفيل كنتاكي التي ساعدت جهود التضمين الرقمية في المدينة ، وجعلها متاحة لجميع المدن والمجتمعات الريفية في جميع أنحاء أمريكا.
يجمع الحل المتصور بين نتائج اختبار سرعة الإنترنت المصممة مع خريطة للولايات المتحدة بأكملها قابلة للتصفية حسب الدولة والرمز البريدي ومسالك التعداد وكتلة Cencus والحدود الإحصائية الأخرى.
في النهاية ، نعتقد أن هذه الأداة ستمنحنا البيانات الأكثر دقة على الأرض حول ما يحدث بالفعل من حيث اتصال الإنترنت في جميع أنحاء أمريكا. ويمكن أن يكون بمثابة نقطة انطلاق للمحادثات بين الجيران والمسؤولين المنتخبين ومقدمي خدمات الإنترنت.
الهدف من هذا المشروع هو زيادة الوعي بعدم المساواة في السرعة وجودة الإنترنت المقدمة للجميع في الولايات المتحدة. إذا كانت لديك أسئلة حول أي شيء ، فيرجى الانضمام إلى المحادثة.
مرحباً!
تم توسيع نطاق التنفيذ الحالي لـ SpeedUpamerica لتغطية ولاية أوريغون في يونيو 2019. تمت إضافة واشنطن وإيداهو في يوليو 2019. تتم إضافة حدود الولاية والمقاطعة في وقت ما خلال أغسطس 2019.
يمكن استخدام المشروع كجزء من استراتيجية التضمين الرقمية لمعرفة مكان عدم المساواة في مجتمعك. يمكن أن تساعد SpeedUpamerica المواطنين والشركات وصانعي السياسات وغيرهم على فهم أفضل للمكان الذي يمكن للأميركيين الوصول إليه إلى خدمة الإنترنت عالية الجودة ، وحيث توجد احتياجات ، والسماح للمدن بتتبع الأداء وتحسين الأداء من خلال السياسات الرئيسية واتفاقيات مزود خدمة الإنترنت والشراكات.
تعتمد جميع خرائط التضمين الرقمية الحالية على بيانات FCC 477 التي يتم الإبلاغ عنها ذاتيًا ، غير مكتملة ، مضللة ، قابلة للألعاب من قبل مزودي خدمة الإنترنت ، وليس مفصلاً بما فيه الكفاية. دعنا نتحسن بيانات السرعة الأكثر دقة وأكثر دقة ومصدر جماعي مباشرة من المواطنين لاتخاذ قرارات أفضل ودفع سياسة.
في مارس 2019 ، عملت لويزفيل مع مجتمع التكنولوجيا في يوجين ، أوريغون وهاك لسبب لتطوير قاعدة كود يمكن أن تكون خريطة وطنية موحدة واحدة.
يجمع هذا التطبيق الجديد ، ExperUpamerica.com ، ويشاركه الجمهور في الحصول على معلومات حول سرعات خدمة النطاق العريض المحلية ، والأسعار المدفوعة ، وجودة الخدمة في جميع أنحاء أمريكا. كما أنه يشتمل على اختبارات Testit واختبارات المختبر (التي تم دمجها مع Google.com) وتزيد بشكل كبير من عدد الاختبارات التي يجمعها التطبيق.
في أبريل 2016 ، أطلقت فريق OPI2 للابتكار التابع لحكومة Louisville Metro ، و Powerup Labs وشركاء آخرين تطبيقًا قائمًا على الويب يهدف إلى زيادة الشفافية حول جودة خدمة الإنترنت في لويزفيل في أحد هاكاثون. عمل لويسفيل شركاء لفتح "تسريع" المصدر حتى تتمكن أي حكومة أو منظمة محلية من إطلاق هذا الطلب لمجتمعهم.
بدأ مشروع Speeduplouisville.com Oreginally في أحد Hackathon Civic Local بقيادة تحالف البيانات Civic ويستضيفه Code Louisville و Code for America. تطوع إريك ليتلتون وجون ماتار وفريق تطوير برامج Powerup Labs في وقت لاحق لمواصلة العمل الذي بدأ خلال Hackathon. قدمت LVL1 ، مساحة صانعة محلية ، تمويلًا لأدوات الويب المدفوعة المطلوبة لإكمال المشروع.
يتم عرض البيانات على خريطة تفاعلية ومتاحة للتنزيل المجاني ، بهدف زيادة الشفافية حول جودة خدمة الإنترنت في أمريكا ومواصلة المحادثة حول الوصول إلى الإنترنت في مجتمعك. يمكن للمواطنين زيارة الموقع من أي جهاز لإجراء اختبار خدمة الإنترنت المجاني ، ويكمله اختبارات M-LAB من Google. يتم تخزين البيانات المقدمة من الاختبار والمسح القصير في قاعدة بيانات متوفرة للجمهور ، إلى جانب نتائج أخرى ، ونشرت على الخريطة عبر الإنترنت في نموذج لا يحدد المساهمين ، ويسمح بتنزيل البيانات الخام المباشر.
لا يجمع هذا الاختبار معلومات حول حركة المرور الشخصية على الإنترنت مثل رسائل البريد الإلكتروني أو عمليات البحث على الويب أو معلومات التعريف الشخصية الأخرى.
يستخدم مشروع SpeedUpamerica التقنيات التالية للتشغيل:
تعمل هذه الإرشادات على Linux و Windows و MacOS ولا تحتاج إلا إلى تنفيذها مرة واحدة ، إلا إذا قمت بإعادة ضبط ملفات قاعدة البيانات أو ملفات التكوين.
تثبيت GIT Windows/Mac/Linux
قم بتثبيت Docker و Docker Compose (تم تضمين Docker Compose بالفعل مع تثبيت Mac و Windows Docker ، ولكن ليس Linux. يرجى أيضًا ملاحظة أن تثبيت Win Home يختلف عن Pro).
هناك حاجة إلى 6 جيجابايت كحد أدنى من تخصيص الذاكرة المحلية. بعد بدء Docker ، انتقل إلى إعداداته وضبط مقدار الذاكرة المسموح باستخدامها.
الذاكرة - سطح المكتب Docker لنظام التشغيل Mac
Memory - Docker Desktop for Windows
اعتمادًا على نظام التشغيل الخاص بك ، قد تضطر إلى التأكد من استخدام
copyبدلاً منcp.
$ 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 حدد local.env your.env في جذر دليل SpeedUpamerica الذي يقع الآن على نظامك المحلي. استخدم إخراج السلسلة الأبجدية الطويلة من rake secret كقيمة لـ SECRET_KEY_BASE . انتقل إلى MapBox وإنشاء حساب مجاني ، للحصول على رمز الوصول إلى API MapBox. استخدم وتعيين الرمز المميز الافتراضي مثل MAPBOX_API_KEY في ملف local.env .
تفترض هذه التعليمات أن مستخدمي Windows لا يستخدمون WSL ، والذي قام بتوثيق المشكلات مع حوامل ربط Docker. يعد تثبيت Docker وتكوين Windows للعمل مع WSL خارج نطاق هذا المستند.
قم بتنزيل أحد ملفات SQL اثنين ووضعه في دليل data المشاريع:
المساهمين: إذا قمت بتحديث أي من هذه الملفات ، فتأكد من تغيير اسم الملف وتحديث جميع المراجع في هذا المستند.
استبدل اسم الملف وتشغيل هذا الخط:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc < data/ < SQL filename > $ docker-compose up -d يمكن الوصول إلى الموقع على http://localhost:3000/ . تم تكوين تطبيق Ruby لعدم ذاكرة التخزين المؤقت ولا يتطلب إعادة تشغيل حاوية Docker لتحميل التغييرات ، ما لم يكن تغيير التكوين. فقط قم بإجراء التغييرات الخاصة بك وإعادة تحميل الصفحة. تحميل الصفحة الأولى اجعل تأخذ قليلا. انظر docker-compose logs frontend for Stdout/Stderr.
يتضمن docker-compose.yml حاوية محور Jupyter تعتمد على jupyter/datascience-notebook . ويشمل بعض وحدات Python الإضافة للعمل مع MySQL و MapBox. بعد إعداد قاعدة البيانات وتحميل مجموعة بيانات ، يمكنك بدء تشغيل محور Jupyter عن طريق تشغيل docker-compose up notebooks . بمجرد الاستعداد ، سيتم إخراج عنوان URL ورمزًا ستحتاج إلى استخدامه للوصول إلى مركز Jypyter في متصفحك. يتم حفظ دفاتر الملاحظات والملفات الأخرى في ./notebooks
$ docker-compose stopإذا لم يتم تحميل الموقع بشكل صحيح على مضيف محلي بعد سحب تغييرات جديدة من GIT وإعادة تشغيل Docker ، جرب ما يلي:
# 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 إذا أظهر docker-compose ps "المخرج 1" لأي عملية ، فمن المحتمل أن يكون أحد الأسباب هو أنه يجب إعادة بناء صورة Docker العملية. ويرجع ذلك بشكل عام إلى التبعيات التي تغيرت منذ آخر مرة قمت فيها ببناء الصورة. تلميح إضافي مفاده أن هذا هو السبب إذا أظهرت السجلات أخطاء تشير إلى أنه لا يمكن العثور على التبعية.
لحل هذا ، إعادة بناء صورة Docker لتلك العملية المحددة. على سبيل المثال ، إذا خرجت عملية frontend بحالة خطأ:
$ docker-compose up --build frontend إذا استمر docker-compose ps في رمي خطأ "مخرج 1" لأي عملية بعد إعادة بناء الواجهة الأمامية ، فيرجى التأكد من أن أذونات جدار الحماية من الآلات تسمح للتطبيقات. بعد تعيين أذونات جدار الحماية الخاص بك ، ستحتاج إلى إغلاق سير العمل وإعادة تشغيل Docker وإعادة تشغيل التطبيق.
إذا كنت لا تزال تواجه مشكلة مع "الخروج 1" بعد تمكينك ، فقد تحتاج إلى حذف TMP/PIDS/Server.pid ثم docker-compose up -d
التثبيت على Ubuntu.
قد يتطلب تشغيل البيئة محليًا على نظام التشغيل المستند إلى Linux تشغيل أوامر docker-compose كمستخدم فائق ، sudo docker-compose [commands] .
فيما يلي دليل لإدارة Docker كمستخدم غير الجذر.
يفترض أن لديك ملف
.sqlحديثًا تم تنزيله من تعليمات الإعداد.
عندما يتم تحديث الحدود ، يجب على كل مطور إعادة تحميل حدوده. نظرًا لأن الحدود الجديدة يمكن أن تتطلب أيضًا إضافة أعمدة إلى جدول التقديمات ، فمن الأفضل إعادة تحميل قاعدة البيانات الخاصة بك تمامًا.
$ 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.sqlعند تحديث ملفات SQL ، تأكد من إزالة التحذير من السطر الأول من الملف.
تأكد من استبدال <date> بتاريخ اليوم بتنسيق موجز (على سبيل المثال 20190801 ).
$ docker-compose exec mysql mysqldump --no-create-info -u suyc -psuyc suyc --ignore-table=suyc.schema_migrations --hex-blob > data/sua_ < date > .sqlاتبع الأقسام الثلاثة التالية لتنزيل أحدث البيانات ، ومسح جدول الحدود الخاص بك ، وتحميل البيانات. يجب أن تتابع هذه الاتجاهات فقط في حالة حذف DB وتحميل آخر تفريغ SQL ليس خيارًا.
يفترض أن لديك هذه الملفات في data/ :
لـ Linux و MacOS ، يرجى استخدام ما يلي:
$ docker-compose exec -T mysql mysql -u suyc -psuyc suyc <<< " TRUNCATE boundaries; "لنظام التشغيل Windows OS ، يرجى استخدام ما يلي:
$ docker-compose exec mysql mysql -u suyc -psuyc suyc
$ mysql> TRUNCATE boundaries;
$ mysql> exit
$ docker-compose run frontend rake populate_boundaries
في كل ليلة ، تقوم بيئات الاختبار والإنتاج بتشغيل عملية استيراد البيانات ، والتي تستورد بيانات M-LAB الحديثة ، وتحديث الحدود ، و recalcualtes ذاكرة التخزين المؤقت ، والمهام الأخرى المتعلقة بالبيانات.
تتطلب بعض خطوات عملية الاستيراد الليلية مفتاح خدمة BigQuery مع الوصول إلى بيانات مختبر القياس.
تبدأ العملية الليلية عن طريق التشغيل ./update_data.sh . في Enviornment المحلية يمكنك:
$ docker-compose run frontend ./update_data.shيتطلب مفتاح خدمة كبير مع الوصول إلى بيانات مختبر القياس.
$ 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
انظر المساهمة.
الملتزمون:
اللجنة الفنية: