Hallo zusammen,
Dies ist der Quellcode, der die Website TheyWorkForYou.com betreibt. Es ist hauptsächlich in PHP geschrieben, obwohl es auch einige Perl-Skripte zum Laden und Indizieren von Datenbanken gibt. Der Backend-Parser-Code ist separat und auf GitHub verfügbar. Weitere Informationen hierzu finden Sie auf der Parser-Infoseite von TheyWorkForYou
Der TheyWorkForYou-Quellcode in dieser Distribution wird unter einer BSD-ähnlichen Lizenz veröffentlicht. Grob gesagt bedeutet dies, dass es Ihnen freisteht, den Code oder daraus erstellte Binärdateien zu kopieren, zu verwenden, zu ändern und weiterzuverbreiten. Kommerzielle oder nichtkommerzielle Nutzung ist erlaubt. Wir lehnen jedoch jegliche Gewährleistung ab und erwarten, dass Sie unseren Namen nicht ohne unsere Erlaubnis verwenden. Genaue rechtliche Informationen finden Sie in der Datei LICENSE.md.
Alles, was Abgeordnete im britischen Unterhaus sagen, ist in einem Dokument namens Hansard festgehalten; TheyWorkForYou trägt dazu bei, diese lebenswichtige demokratische Ressource sinnvoll zu nutzen. Es enthält auch Dinge aus dem House of Lords, dem schottischen Parlament und der Nordirland-Versammlung.
Fragen zur Installation finden Sie unter INSTALL.md.
Wenn Sie Fragen haben, wenden Sie sich am besten an die E-Mail-Liste mySociety TheyWorkForYou unter https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou
Sie benötigen eine aktuelle Version von Docker.
Durch Ausführen docker compose up [ -d ]
wird die Umgebung gestartet. Wenn Sie dies zum ersten Mal ausführen, kann es einige Minuten dauern, da verschiedene Images heruntergeladen und das Anwendungsimage lokal erstellt werden.
Sobald dies erledigt ist, sollten Sie die Startseite unter http://localhost:8000
sehen können. Der Standard-Build enthält jedoch keine Daten. Sehen Sie sich daher INSTALL.md an, um Informationen zum Herunterladen und Importieren von Parlparse-Daten (Mitglieder, Debatten, Abstimmungen usw.) zu erhalten.
Sie können die Umgebung stoppen, indem Sie docker compose down
ausführen. Durch das Hinzufügen von -v
werden alle möglicherweise verwendeten Docker-Volumes einschließlich aller ihrer Daten entfernt.
DOCKER.md enthält einige detailliertere Hinweise zur Entwicklungsumgebung, zusammen mit einigen nützlichen Befehlen und detaillierteren Docker-spezifischen Setup-Hinweisen.
Um xdebug in VS Code bei Verwendung von WSL zu verwenden, müssen Sie eine Umgebungsvariable von WSL_IP innerhalb des Subsystems der IP-Adresse des Subsystems festlegen.
Starten Sie einen neuen Codespace auf Github, indem Sie das Dropdown-Menü „Code“ (oben rechts) auswählen und einen neuen Codespace starten (oder verwenden Sie die GitHub-CLI).
Sie können das Abzeichen oben auch verwenden, um einen Prebuild mit einer grundlegenden Datenmenge zu verwenden.
Dadurch werden der Docker-Container und die Docker-Umgebung eingerichtet. Sobald Sie fertig sind, sollte der Link zur Site auf der Registerkarte „Ports“ des Terminal-Panels verfügbar sein.
Um mit einer minimalen Datenmenge aufzufüllen, führen Sie scripts/quick-populate
aus (ca. 1 Stunde).
Wenn Sie an einer Seite arbeiten, die das Redesign verwendet, müssen Sie nach den Änderungen statische Assets kompilieren:
script/watch-css
oder
cd www/docs/style
bundle exec compass compile
für eine einmalige Kompilierung oder bundle exec compass watch
für eine Neukompilierung bei Änderungen script/lint
führt php-cs-fixer für PHP-Dateien aus.
TheyWorkForYou enthält eine Testsuite, die PHPunit verwendet. Stellen Sie zum Ausführen von Tests sicher, dass die Umgebungsvariablen TWFY_TEST_DB_HOST
, TWFY_TEST_DB_NAME
, TWFY_TEST_DB_USER
und TWFY_TEST_DB_PASS
festgelegt sind und relevante Informationen für Ihre Testdatenbank enthalten. Die Datenbank wird während des Tests demontiert und neu erstellt. Stellen Sie daher sicher, dass es sich nicht um eine wichtige Kopie handelt.
Möglicherweise stellen Sie fest, dass in einigen Versionen von PHPUnit Fehler in Bezug auf Codeabdeckungsberichte ausgegeben werden. Wenn dies der Fall ist, sollte die von Composer installierte Version, die sich unter /vendor/bin/phpunit
befindet, ordnungsgemäß ausgeführt werden.
Vielen Dank an Browserstack, der uns für dieses Projekt die Verwendung seiner webbasierten Cross-Browser-Testtools ermöglicht hat.