Bem-vindo ao teste de contratação para a vaga de Desenvolvedor Back-End. Neste teste, você terá a oportunidade de demonstrar suas habilidades em PHP com o framework Laravel e PostgreSQL ao criar uma API CRUD baseada em um conjunto de requisitos.
- Clone este repositório para o seu ambiente local.
- Crie uma aplicação backend utilizando Laravel, seguindo as especificações fornecidas.
- Implemente as funcionalidades de Criar, Ler, Atualizar e Deletar para as entidades especificadas.
- Configure a aplicação para utilizar o banco de dados PostgreSQL.
- Utilize Postman para testar e documentar as suas APIs.
- Após completar o teste, crie um repositório no seu GitHub com o nome
teste-motocaSystems-backEnd
e suba o seu código para lá. - Envie o link do seu repositório para nós (thalles@motoca.com.br / welliton@motoca.com.br).
- Utilize Laravel para construir a aplicação.
- Utilize PostgreSQL como banco de dados.
- Implemente as operações de CRUD (Criar, Ler, Atualizar, Deletar) para duas entidades: "Produtos" e "Categorias".
- Certifique-se de que a API esteja bem documentada utilizando o Postman.
- A aplicação deve seguir boas práticas de desenvolvimento, incluindo a utilização de migrations, seeders, controllers, models e rotas organizadas.
A aplicação deve incluir as seguintes operações CRUD para as entidades "Produtos" e "Categorias":
-
Criar Produto:
- Rota:
POST /api/produtos
- Payload:
{ "nome": "Nome do Produto", "descricao": "Descrição do Produto", "preco": 100.00, "categoria_id": 1 }
- Rota:
-
Ler Produtos:
- Rota:
GET /api/produtos
- Retorna uma lista de todos os produtos.
- Rota:
-
Ler Produto por ID:
- Rota:
GET /api/produtos/{id}
- Retorna os detalhes de um produto específico.
- Rota:
-
Atualizar Produto:
- Rota:
PUT /api/produtos/{id}
- Payload:
{ "nome": "Nome do Produto", "descricao": "Descrição do Produto", "preco": 150.00, "categoria_id": 2 }
- Rota:
-
Deletar Produto:
- Rota:
DELETE /api/produtos/{id}
- Deleta um produto específico.
- Rota:
-
Criar Categoria:
- Rota:
POST /api/categorias
- Payload:
{ "nome": "Nome da Categoria" }
- Rota:
-
Ler Categorias:
- Rota:
GET /api/categorias
- Retorna uma lista de todas as categorias.
- Rota:
-
Ler Categoria por ID:
- Rota:
GET /api/categorias/{id}
- Retorna os detalhes de uma categoria específica.
- Rota:
-
Atualizar Categoria:
- Rota:
PUT /api/categorias/{id}
- Payload:
{ "nome": "Nome da Categoria Atualizada" }
- Rota:
-
Deletar Categoria:
- Rota:
DELETE /api/categorias/{id}
- Deleta uma categoria específica.
- Rota:
- Cada produto pertence a uma categoria (
categoria_id
como chave estrangeira na tabelaprodutos
). - Cada categoria pode ter vários produtos.
Você tem até 17/06/2024 às 08:00 horas para completar este teste a partir do momento em que o recebe. Será levado em consideração a qualidade e o tempo de entrega do teste.
- Após completar o teste, crie um repositório no seu GitHub com o nome
teste-motocaSystems-backEnd
. - Suba o código da aplicação para este repositório.
- Inclua qualquer documentação adicional que julgar necessária.
- Certifique-se de que o código está bem comentado e fácil de entender.
- Envie o link do repositório para nós (thalles@motoca.com.br / welliton@motoca.com.br).
Se você tiver qualquer dúvida durante o teste, sinta-se à vontade para entrar em contato conosco.
Boa sorte! 🍀