LAB Supermarket
A LAB Supermarket está contratando novos desenvolvedores para o seu quadro de colaboradores, com o intuito de expandir os negócios. Os gestores entendem que antes de finalizar as contratações, é necessário executar um desafio prático onde o futuro colaborador deverá criar o back-end de um sistema de lista de compras. É hora de ficar feliz, pois você foi escolhido para criar a API Rest do LabShoppingList.
A aplicação que deverá ser realizada individualmente, deve contemplar os seguintes requisitos:
- Criação de modelo relacional
- Utilização correta do GitHub e escrita do Readme.md
- Cadastro de categoria
- Listagem de categorias
- Deleção de categoria
- Cadastro de produto
- Listagem de produtos
- Edição de produto por identificador
- Deleção de um produto por identificador
- Listagem de valor total comprado
- Documentação de código
A aplicação realizada individualmente deverá seguir os requisitos apresentados à seguir.
Requisito geral da aplicação:
- ○ Utilização de Spring: Boot, MVC, Data
- Criação de API Rest
-
Utilização de Git com GitHub
-
Uso do banco de dados PostgreSQL
-
Criação de modelagem do banco de dados com Draw.io, DBDesigner ou ERD Tool do pgAdmin
-
Criação de documentação com Swagger
- Cadastro de categoria:
- Não permitir cadastro duplicado
- Não permitir cadastro com campos inválidos
Campos necessários:
-
Identificador da categoria: Único, autogerado
-
Nome da categoria: Única, tipo texto, preenchimento obrigatório
-
Descrição da categoria: Tipo texto, preenchimento não obrigatório
Listagem de categorias:
- Listar todas as categorias cadastradas com seus respectivos campos
- Deleção de categoria:
- Deletar uma categoria por identificador
- Não permitir deleção caso a categoria esteja em uso
Cadastro de produto:
- Não permitir cadastro duplicado
-
Não permitir cadastro com campos inválidos
Campos necessários:
- Identificador do produto: Único, autogerado
- Identificador da categoria: Utilizar categoria válida e já criada
- Nome do produto: Tipo texto, preenchimento obrigatório
- Valor do produto: Tipo numérico, preenchimento obrigatório
- Status do produto: Comprado ou não comprado
Listagem de valor total:
-
Listagem de produtos:
-
Listar todos os produtos cadastrados com seus respectivos campos
- Edição de produto:
- Editar as informações do produto por identificador
- Deleção de produto:
- Listar o valor total comprado
- Utilizar o status para calcular
Deletar um produto por identificado
Documentação de código:
- Documentar todos os endpoints criados utilizando Swagger
Escolha a Ide de sua preferencia, neste projeto foi utilizado o Intelijji, 'https://www.jetbrains.com/pt-br/idea/' faça um gitclone destes arquivos.
Escolha um banco de dados e na classe
Suba o projeto.
Use o aplicativo Postman, 'https://www.postman.com/', para testar a aplicação digitando no 'http://localhost:8080/' browser .
Você também pode utilizar o Swagger, 'http://localhost:8080/swagger-ui/index.html#/', para testar a aplicação e gerar uma documentação organizada.