Aplicativo desenvolvido com as seguintes tecnologias:
O projeto consiste em 2 módulos:
Módulo composto por duas páginas HTML, arquitetura MVC. Localizado em ./modules/Application
Tecnologias
HTML5. CSS, PHP, jQuery, D3.js
Estrutura básica
Interfaces do sistema
Interface com o módulo Api, que consome os web services expostos através de uma série de endpoints que retornam JSON, com os quais os gráficos do relatório são construídos de forma dinâmica.
Camada de serviços web RESTful. Localizado em ./modules/Api
Tecnologias
PHP, MySQL, Doutrina
Consiste em uma série de endpoints consultados pela página de resultados que fornecem dados para os gráficos da página de resultados.
Terminais expostos
$ git clone [email protected]:diegoangel/informe-gei.git
$ cd informe-gei
$ git checkout zf3-version
$ composer install
Altere as credenciais de conexão, se aplicável, e execute:
mysql -u root -proot -e " CREATE SCHEMA informe_gei "
Os dados de configuração da conexão devem ser colocados no arquivo 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 ' ,
]
],
],
],
];
Este arquivo não existirá, então você deve criá-lo copiando, colando e renomeando o arquivo config/autoload/local.php.dist
.
cp config/autoload/local.php.dist config/autoload/local.php
Além disso, esse arquivo é ignorado no repositório de controle de versão e, portanto, as credenciais de conexão nunca serão compartilhadas acidentalmente e permanecerão seguras.
A funcionalidade do projeto Doctrine Migrations é usada para gerenciar alterações e versionamento do banco de dados. Para saber mais sobre as possibilidades ou funcionamento desta ferramenta, sugerimos visitar o link da documentação do projeto.
Depois que o banco de dados estiver configurado, prossiga com o carregamento inicial dos dados.
Execute o seguinte comando para iniciá-lo:
./vendor/bin/doctrine-module migrations:migrate
Você será então informado de que o comando está prestes a ser executado e sua possível criticidade e deverá confirmá-lo.
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)
Pressione a letra e
Os parâmetros de configuração do Doctrine Migration estão localizados no arquivo config/autoload/global.php
. . .
return [
' doctrine ' => [
// migrations configuration
' migrations_configuration ' => [
' orm_default ' => [
' directory ' => ' data/Migrations ' ,
' name ' => ' Doctrine Database Migrations ' ,
' namespace ' => ' Migrations ' ,
' table ' => ' migrations ' ,
],
],
],
];
Inicie o servidor do console na porta 8080 e navegue até http://localhost:8080/ para verificar o funcionamento normal do site.
Obs: O servidor PHP embarcado é apenas para desenvolvimento , em produção utilize Apache, Nginx ou outro que atenda aos seus requisitos.
$ 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
O projeto vem com um modo de desenvolvimento padrão, útil para declarar configurações que só serão executadas no ambiente local do desenvolvedor para, por exemplo, poder estabelecer uma conexão com um banco de dados de teste, entre outras coisas. Fornece três aliases para ativar, desativar e consultar o 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
Dois conjuntos de testes unitários foram criados usando PHPUnit.
./module/Api/test
./module/Application/test
Execute o seguinte comando no console.
$ ./vendor/bin/phpunit -v --debug --testsuite Api
$ ./vendor/bin/phpunit -v --debug --testsuite Application
Você pode executar ambos os pacotes com o comando:
$ ./vendor/bin/phpunit -v --debug
Para gerar o relatório de cobertura de teste, execute o seguinte comando no console e abra o arquivo ./data/coverage/index.html
no navegador.
$ ./vendor/bin/phpunit -v --debug --coverage-html data/coverage
Se você precisar adicionar modificações locais à configuração do PHPUnit, copie phpunit.xml.dist
para phpunit.xml
e edite o novo arquivo; o último tem precedência sobre o primeiro quando os testes são executados e é ignorado pelo sistema de controle de versão. Se desejar editar permanentemente a configuração, edite o arquivo phpunit.xml.dist
.
Usei o Scrutinizer CI para executar:
Você pode encontrar o arquivo de configuração scrutinizer.yml
, que usamos no servidor de integração contínua Scrutinizer.
A avaliação da qualidade do código, a cobertura dos testes e o status da última compilação podem ser visualizados através dos emblemas encontrados sob o título do documento.
NOTA: Informações adicionais como imagens, documentos técnicos e capturas de tela com informações do relatório do projeto podem ser acessadas na pasta ./doc.
Exemplo de configuração funcional no Apache.
Este exemplo não contempla a declaração de níveis de log, localização de arquivos de log ou regras especiais de reescrita, por exemplo.
< 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 >