Всем привет,
Это исходный код, лежащий в основе веб-сайта TheyWorkForYou.com. В основном он написан на PHP, хотя существует также несколько сценариев Perl для загрузки и индексирования базы данных. Код внутреннего парсера является отдельным и доступен на GitHub. Вы можете прочитать больше об этом на странице информации о парсере TheyWorkForYou.
Исходный код TheyWorkForYou в этом дистрибутиве выпущен под лицензией в стиле BSD. Грубо говоря, это означает, что вы можете свободно копировать, использовать, изменять и распространять код или двоичные файлы, созданные на его основе. Разрешается коммерческое или некоммерческое использование. Однако мы отказываемся от гарантии и ожидаем, что вы не будете использовать наше имя без нашего разрешения. Точную юридическую информацию смотрите в файле LICENSE.md.
Все, что говорят депутаты в Палате общин Великобритании, записано в документе под названием Hansard; 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, выбрав раскрывающийся список «Код» (вверху справа) и запустив новое кодовое пространство (или используйте GitHub CLI).
Вы также можете использовать значок выше, чтобы использовать предварительную сборку с базовым объемом данных.
Это позволит настроить контейнер и среду Docker. После завершения ссылка на сайт должна появиться на вкладке портов панели терминала.
Чтобы заполнить минимальный объем данных, запустите scripts/quick-populate
(около 1 часа).
Если вы работаете над страницей, на которой используется редизайн, вам потребуется скомпилировать статические ресурсы после изменений:
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, которые позволили нам использовать их веб-инструменты кроссбраузерного тестирования для этого проекта.