Neste teste foi necessário desenvolver o teste aplicando técnicas de
- POO
- MVC
- Clean Code
A aplicação não foi disponibilizada online, desta forma, para executar é necessário clonar o repositório e levantar uma instância local das aplicações.
Passos de atribuir variáveis de ambiente, instalar pacotes, levantar migração e executar testes e aplicação.
Os passos abaixo devem ser executados no diretório
api/
.
Antes de executar é necessário possuir o PHP, Composer e MySQL instalados e copiar o arquivo .env.example
[1] e alterar os dados necessários (DB_CONNECTION
, DB_HOST
, DB_PORT
, DB_DATABASE
, DB_USERNAME
, DB_PASSWORD
).
Após alterar as informações do banco será necessário instalar os pacotes com composer install
, e após isso subir as migrações com php artisan migrate
.
Antes de testar manualmente a aplicação é possível executar testes de funcionalidade, executando composer test
.
Para executar o backend basta executar, na basta api/
[2] deste projeto php -S localhost:8082 -t public
.
É importante salientar que, em caso de alterar a porta que estará sendo utilizada, também será necessário alterar no projeto frontend a url base da aplicação, que fica em
ng-app/src/app/api
[3].
Não é utilizado variáveis de ambiente na aplicação frontend, tendo como necessário apenas a url da api, que para alterar é no arquivo ng-app/src/app/api/api.service.ts
[4].
Para instalar os pacotes da aplicação é executando npm install
.
Para executar a aplicação frontend, na pasta ng-app/
[5] o comando npm run start
.
Para o desafio será necessário desenvolver, utilizando PHP e Angular, VueJS ou React os requisitos: ✅
- Menu Inicial;
- Listagem e cadastro de clientes
- Código de identificação do Cliente;
- Nome;
- CPF;
- Endereço Completo (CEP, Logradouro, Número, Bairro, Complemento, Cidade);
- Email;
- Data de Nascimento.
- Listagem e Cadastro de Produtos
- Código de identificação de vendas;
- Nome;
- Valor Unitário
- Pedido de Vendas
- Código de identificação de venda;
- Data e Hora de venda;
- Identificação do cliente;
- Identificação dos itens da venda (Lista de produtos);
- Total da venda.
- Banco de dados da preferência;
- Foi utilizando o banco de dados MySQL para desenvolvimento e SQLite para testes do backend
- UI/UX;
- CSS/SCSS;
- Foi utilizado CSS apenas para algumas poucas estilizações
- Formatação e código limpo;
- Conceitos de OOP;
- Repositório GitHub