Nesse teste analisaremos seu conhecimento geral, velocidade de desenvolvimento e capacidade de melhoria.
Utilizando o framework PHP Laravel, e um banco de dados relacional SQLite, MySQL ou Postgres, você vai criar uma aplicação de cadastro de pedidos de compra com as seguintes funcionalidades:
-
CRUD de clientes.
-
CRUD de produtos.
-
CRUD de pedidos de compra, com status (Em Aberto, Pago ou Cancelado).
-
Cada CRUD:
- conter lista dos itens cadastrados, com filtro e ordenação para tods os campos apresentados.
- deve possuir formulários para criação e atualização de seus itens.
- deve permitir a deleção de qualquer item de sua lista.
-
API Rest JSON para todos os CRUDS listados.
- O banco de dados deve ser criado utilizando Migrations do framework Laravel, e também utilizar Seeds e Factorys para popular as informações no banco de dados.
- Implementação das validações necessárias.
- HTML
- CSS
- Javascript(Poderá ser utilizado frameworks)
- Framework Laravel (PHP)
- Docker (construção do ambiente de desenvolvimento)
- Para iniciar o teste, faça um fork deste repositório; Se você apenas clonar o repositório não vai conseguir fazer push.
- Crie uma branch com o seu nome completo;
- Altere o arquivo teste-engenheiro-junior.md com as informações necessárias para executar o seu teste (comandos, migrations, seeds, etc);
- Depois de finalizado, envie-nos o pull request;
- Implementar autenticação de usuário na aplicação.
- Implementar aplicação de desconto em alguns pedidos de compra.
- Organização do código;
- Aplicação de design patterns;
- Separação de módulos e componentes;
- Legibilidade;
- Criação do ambiente com Docker.
- Inovação e melhorias.
- Evolução do front end.