Anwendung entwickelt mit den folgenden Technologien:
Das Projekt besteht aus 2 Modulen:
Modul bestehend aus zwei HTML-Seiten, MVC-Architektur. Befindet sich in ./modules/Application
Technologien
HTML5. CSS, PHP, jQuery, D3.js
Grundstruktur
Systemschnittstellen
Schnittstelle mit dem API-Modul, das die über eine Reihe von Endpunkten bereitgestellten Webdienste nutzt, die JSON zurückgeben, mit dem die Berichtsgrafiken dynamisch erstellt werden.
RESTful-Webservices-Schicht. Befindet sich in ./modules/Api
Technologien
PHP, MySQL, Lehre
Es besteht aus einer Reihe von Endpunkten, die von der Ergebnisseite konsultiert werden und Daten für die Diagramme auf der Ergebnisseite bereitstellen.
Exponierte Endpunkte
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
Ändern Sie gegebenenfalls die Anmeldeinformationen für die Verbindung und führen Sie Folgendes aus:
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
Die Verbindungskonfigurationsdaten müssen in der Datei config/autoload/local.php
abgelegt werden.
. . .
return [
' doctrine ' => [
' connection ' => [
' orm_default ' => [
' driverClass ' => PDOMySqlDriver::class,
' params ' => [
' host ' => ' 127.0.0.1 ' ,
' user ' => ' root ' ,
' password ' => ' root ' ,
' dbname ' => ' informe_gei ' ,
' charset ' => ' utf8 ' ,
]
],
],
],
];
Diese Datei wird nicht existieren, daher müssen Sie sie erstellen, indem Sie die Datei config/autoload/local.php.dist
kopieren, einfügen und umbenennen.
cp config/autoload/local.php.dist config/autoload/local.php
Darüber hinaus wird diese Datei im Versionskontroll-Repository ignoriert und daher werden die Verbindungsanmeldeinformationen niemals versehentlich weitergegeben und bleiben sicher.
Die Funktionalität des Doctrine Migrations-Projekts wird zur Verwaltung von Änderungen und Versionierung der Datenbank verwendet. Um mehr über die Möglichkeiten oder die Funktionsweise dieses Tools zu erfahren, empfehlen wir den Besuch des Links zur Projektdokumentation.
Sobald die Datenbank konfiguriert ist, fahren Sie mit dem ersten Laden der Daten fort.
Führen Sie den folgenden Befehl aus, um es zu starten:
./vendor/bin/doctrine-module migrations:migrate
Sie werden dann darüber informiert, dass der Befehl ausgeführt werden soll und ob er möglicherweise kritisch ist, und Sie müssen ihn bestätigen.
Loading configuration from the integration code of your framework (setter).
Doctrine Database Migrations
WARNING ! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish to continue ? (y/n)
Drücken Sie den Buchstaben und
Die Konfigurationsparameter für Doctrine Migration befinden sich in der Datei config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
Starten Sie den Konsolenserver auf Port 8080 und navigieren Sie zu http://localhost:8080/, um den normalen Betrieb der Website zu überprüfen.
Hinweis: Der eingebettete PHP-Server ist nur für die Entwicklung gedacht . Verwenden Sie in der Produktion Apache, Nginx oder einen anderen, der Ihren Anforderungen entspricht.
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# O utilizar el alias definido en la sección scripts de composer.json:
$ composer serve
Das Projekt verfügt über einen Standard-Entwicklungsmodus, der zum Deklarieren von Konfigurationen nützlich ist, die nur in der lokalen Umgebung des Entwicklers ausgeführt werden, um beispielsweise unter anderem eine Verbindung zu einer Testdatenbank herstellen zu können. Bietet drei Aliase zum Aktivieren, Deaktivieren und Abfragen des Status:
$ composer development-enable # habilita el modo desarrollo
$ composer development-disable # deshabilita el modo desarrollo
$ composer development-status # informa sobre si esta o no habilitado el modo desarrollo
Mit PHPUnit wurden zwei Unit-Test-Suiten erstellt.
./module/Api/test
./module/Application/test
Führen Sie den folgenden Befehl in der Konsole aus.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
Sie können beide Suiten mit dem folgenden Befehl ausführen:
$ ./vendor/bin/phpunit -v --debug
Um den Testabdeckungsbericht zu generieren, führen Sie den folgenden Befehl in der Konsole aus und öffnen Sie dann die Datei ./data/coverage/index.html
im Browser.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
Wenn Sie lokale Änderungen an der PHPUnit-Konfiguration hinzufügen müssen, kopieren Sie phpunit.xml.dist
nach phpunit.xml
und bearbeiten Sie die neue Datei; Letzteres hat bei der Ausführung der Tests Vorrang vor Ersterem und wird vom Versionskontrollsystem ignoriert. Wenn Sie die Konfiguration dauerhaft bearbeiten möchten, bearbeiten Sie die Datei phpunit.xml.dist
.
Mit Scrutinizer CI wurde Folgendes ausgeführt:
Sie finden die Konfigurationsdatei scrutinizer.yml
, die wir auf dem Scrutinizer Continuous Integration Server verwenden.
Die Bewertung der Codequalität, der Testabdeckung und der Status des letzten Builds können über die Badges unter dem Titel des Dokuments eingesehen werden.
HINWEIS: Zusätzliche Informationen wie Bilder, technische Dokumente und Screenshots mit Informationen zum Projektbericht können im Ordner ./doc abgerufen werden.
Beispiel für eine funktionale Konfiguration in Apache.
In diesem Beispiel wird beispielsweise die Deklaration von Protokollierungsstufen, dem Speicherort von Protokolldateien oder speziellen Umschreibungsregeln nicht berücksichtigt.
< VirtualHost *:80>
ServerName informe-gei.local
DocumentRoot /var/www/html/informe-gei/public
< Directory /var/www/html/informe-gei/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
< IfModule mod_authz_core.c>
Require all granted
IfModule >
Directory >
VirtualHost >