أهلا بالجميع،
هذا هو الكود المصدري الذي يشغل موقع TheyWorkForYou.com. إنها مكتوبة بشكل أساسي بلغة PHP، على الرغم من وجود بعض نصوص Perl لتحميل قاعدة البيانات وفهرستها. رمز محلل الواجهة الخلفية منفصل ومتوفر على GitHub. يمكنك قراءة المزيد حول هذا الأمر على صفحة معلومات المحلل اللغوي الخاصة بـ TheyWorkForYou
تم إصدار كود مصدر TheyWorkForYou في هذا التوزيع بموجب ترخيص نمط BSD. هذا يعني تقريبًا أن لديك الحرية في نسخ واستخدام وتعديل وإعادة توزيع التعليمات البرمجية أو الثنائيات المصنوعة من التعليمات البرمجية. يُسمح بالاستخدام التجاري أو غير التجاري. ومع ذلك، فإننا نخلي مسؤوليتنا عن الضمان، ونتوقع منك عدم استخدام اسمنا دون الحصول على إذن منا. راجع الملف LICENSE.md للحصول على المعلومات القانونية الدقيقة.
كل ما يقوله النواب في مجلس العموم في المملكة المتحدة يتم تسجيله في وثيقة تسمى هانسارد؛ يساعد موقع TheyWorkForYou على فهم هذا المورد الديمقراطي الحيوي. ويتضمن أيضًا أشياء من مجلس اللوردات والبرلمان الاسكتلندي وجمعية أيرلندا الشمالية.
راجع INSTALL.md لمعرفة أسئلة التثبيت.
إذا كانت لديك أسئلة، فإن أفضل مكان لطرحها هو قائمة البريد الإلكتروني لـ mySociety TheyWorkForYou على https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou
ستحتاج إلى إصدار حديث من Docker.
سيؤدي تشغيل docker compose up [ -d ]
إلى بدء تشغيل البيئة. في المرة الأولى التي تقوم فيها بتشغيل هذا، قد يستغرق الأمر بضع دقائق حيث يتم تنزيل صور مختلفة وإنشاء صورة التطبيق محليًا.
بمجرد الانتهاء من ذلك، يجب أن تكون قادرًا على عرض الصفحة الأولى على http://localhost:8000
. ومع ذلك، لا يحتوي الإصدار الافتراضي على أي بيانات، لذا قم بإلقاء نظرة على INSTALL.md للحصول على معلومات حول تنزيل واستيراد بيانات Parlparse (الأعضاء، المناقشات، الأصوات، إلخ).
يمكنك إيقاف البيئة عن طريق تشغيل docker compose down
. ستؤدي إضافة -v
إلى إزالة أي وحدات تخزين Docker قد تكون قيد الاستخدام، بما في ذلك جميع بياناتها.
يحتوي DOCKER.md على بعض الملاحظات الأكثر تفصيلاً حول بيئة التطوير، بالإضافة إلى بعض الأوامر المفيدة وملاحظات إعداد أكثر تفصيلاً خاصة بـ Docker.
لاستخدام xdebug في VS Code أثناء استخدام WSL، ستحتاج إلى تعيين متغير بيئي لـ WSL_IP داخل النظام الفرعي لعنوان IP الخاص بالنظام الفرعي.
ابدأ مساحة تعليمات برمجية جديدة على Github عن طريق تحديد القائمة المنسدلة Code (أعلى اليمين)، وبدء مساحة تعليمات برمجية جديدة (أو استخدم GitHub CLI).
يمكنك أيضًا استخدام الشارة أعلاه لاستخدام إنشاء مسبق بكمية أساسية من البيانات.
سيؤدي هذا إلى إعداد حاوية Docker والبيئة. بمجرد الانتهاء، يجب أن يكون رابط الموقع متاحًا في علامة تبويب المنافذ باللوحة الطرفية.
للتعبئة بأقل قدر من البيانات، قم بتشغيل scripts/quick-populate
(حوالي ساعة واحدة).
إذا كنت تعمل على صفحة تستخدم إعادة التصميم، فستحتاج إلى تجميع الأصول الثابتة بعد التغييرات:
script/watch-css
أو
cd www/docs/style
bundle exec compass compile
لتجميع لمرة واحدة أو bundle exec compass watch
لإعادة الترجمة عند التغييرات سيقوم script/lint
بتشغيل php-cs-fixer لملفات php.
يتضمن TheyWorkForYou مجموعة اختبارية باستخدام PHPunit. لإجراء الاختبارات، تأكد من تعيين متغيرات البيئة TWFY_TEST_DB_HOST
و TWFY_TEST_DB_NAME
و TWFY_TEST_DB_USER
و TWFY_TEST_DB_PASS
وتحتوي على المعلومات ذات الصلة بقاعدة بيانات الاختبار الخاصة بك. سيتم تجريد قاعدة البيانات وإعادة بنائها أثناء الاختبار، لذا تأكد من أنها ليست نسخة مهمة.
قد تجد أنه في بعض إصدارات PHPUnit يتم طرح أخطاء فيما يتعلق بتقارير تغطية التعليمات البرمجية. في هذه الحالة، يجب أن يعمل الإصدار المثبت بواسطة Composer والموجود على /vendor/bin/phpunit
بشكل صحيح.
شكرًا لـ Browserstack الذي سمح لنا باستخدام أدوات الاختبار عبر المتصفحات المستندة إلى الويب لهذا المشروع.