다음 기술로 개발된 애플리케이션:
이 프로젝트는 2개의 모듈로 구성됩니다.
두 개의 HTML 페이지, MVC 아키텍처로 구성된 모듈입니다. ./modules/Application
에 위치
기술
HTML5. CSS, PHP, jQuery, D3.js
기본 구조
시스템 인터페이스
보고서 그래픽이 동적으로 구축되는 JSON을 반환하는 일련의 엔드포인트를 통해 노출된 웹 서비스를 사용하는 Api 모듈과 인터페이스합니다.
RESTful 웹 서비스 계층. ./modules/Api
에 위치
기술
PHP, MySQL, 교리
이는 결과 페이지의 그래프에 대한 데이터를 제공하는 결과 페이지에서 참조한 일련의 엔드포인트로 구성됩니다.
노출된 엔드포인트
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
해당하는 경우 연결 자격 증명을 변경하고 다음을 실행합니다.
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
연결 구성 데이터는 config/autoload/local.php
파일에 있어야 합니다.
. . .
return [
' doctrine ' => [
' connection ' => [
' orm_default ' => [
' driverClass ' => PDOMySqlDriver::class,
' params ' => [
' host ' => ' 127.0.0.1 ' ,
' user ' => ' root ' ,
' password ' => ' root ' ,
' dbname ' => ' informe_gei ' ,
' charset ' => ' utf8 ' ,
]
],
],
],
];
이 파일은 존재하지 않으므로 config/autoload/local.php.dist
파일을 복사하고 붙여넣고 이름을 바꿔서 생성해야 합니다.
cp config/autoload/local.php.dist config/autoload/local.php
또한 이 파일은 버전 제어 저장소에서 무시되므로 연결 자격 증명은 실수로 공유되지 않으며 안전하게 유지됩니다.
Doctrine Migrations 프로젝트의 기능은 데이터베이스의 변경 사항 및 버전 관리를 관리하는 데 사용됩니다. 이 도구의 가능성이나 작동에 대해 자세히 알아보려면 프로젝트 문서 링크를 방문하는 것이 좋습니다.
데이터베이스 구성이 완료되면 초기 데이터 로딩을 진행합니다.
시작하려면 다음 명령을 실행하십시오.
./vendor/bin/doctrine-module migrations:migrate
그런 다음 명령이 곧 실행될 예정이며 해당 명령의 중요성에 대한 알림을 받게 되며 이를 확인해야 합니다.
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)
문자 를 누르고
Doctrine 마이그레이션 구성 매개변수는 config/autoload/global.php
파일에 있습니다.
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
포트 8080에서 콘솔 서버를 시작하고 http://localhost:8080/으로 이동하여 웹 사이트가 정상적으로 작동하는지 확인하십시오.
참고: 내장된 PHP 서버는 개발용으로만 사용되며 프로덕션에서는 Apache, Nginx 또는 요구 사항을 충족하는 다른 서버를 사용합니다.
$ 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
프로젝트에는 기본 개발 모드가 제공됩니다. 이는 예를 들어 무엇보다도 테스트 데이터베이스에 대한 연결을 설정할 수 있도록 개발자의 로컬 환경에서만 실행되는 구성을 선언하는 데 유용합니다. 상태를 활성화, 비활성화 및 쿼리하는 세 가지 별칭을 제공합니다.
$ 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
PHPUnit을 사용하여 두 개의 단위 테스트 스위트가 생성되었습니다.
./module/Api/test
./module/Application/test
콘솔에서 다음 명령을 실행하세요.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
다음 명령을 사용하여 두 제품군을 모두 실행할 수 있습니다.
$ ./vendor/bin/phpunit -v --debug
테스트 커버리지 보고서를 생성하려면 콘솔에서 다음 명령을 실행한 후 브라우저에서 ./data/coverage/index.html
파일을 엽니다.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
PHPUnit 구성에 로컬 수정 사항을 추가해야 하는 경우 phpunit.xml.dist
phpunit.xml
에 복사하고 새 파일을 편집합니다. 테스트가 실행될 때 후자가 전자보다 우선하며 버전 제어 시스템에서는 무시됩니다. 구성을 영구적으로 편집하려면 phpunit.xml.dist
파일을 편집하십시오.
Scrutinizer CI를 사용하여 다음을 실행했습니다.
Scrutinizer 지속적 통합 서버에서 사용하는 구성 파일 scrutinizer.yml
찾을 수 있습니다.
코드 품질 평가, 테스트 적용 범위 및 마지막 빌드 상태는 문서 제목 아래에 있는 배지를 통해 확인할 수 있습니다.
참고: 이미지, 기술 문서, 프로젝트 보고서 정보가 포함된 스크린샷 등의 추가 정보는 ./doc 폴더에서 액세스할 수 있습니다.
Apache의 기능적 구성 예.
이 예에서는 로깅 수준 선언, 로그 파일 위치 또는 특수 재작성 규칙 등을 고려하지 않습니다.
< 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 >