cristianoans / soulpet-back Goto Github PK
View Code? Open in Web Editor NEWThis project forked from aleps3/soulpet-rn1
This project forked from aleps3/soulpet-rn1
Crie duas rotas DELETE
para remover produtos.
/produtos/:id
id
./produtos/all
Depende de: BE-1
Crie quatro rotas GET
para listagem de pedidos.
/pedidos
/pedidos/:id
/pedidos/produtos/:id
/pedidos/clientes/:id
Depende de: BE-18
No backend, nas tentativas de executar queries do banco de dados utilizamos try-catch
, porém o código de status 500 não é o mais preciso para as diversas situações que podem acontecer. Trate o objeto err
no catch para responder ao cliente com mensagens e códigos de status mais preciso sobre o erro ocorrido (todas as rotas com try-catch
devem ter esse tratamento). As respostas de erro devem ter:
O desenvolvedor deve dar manutenção periódica a esta task para garantir ao final que o tratamento é consistente.
Crie um novo model para a aplicação backend, ele representa um produto e possui as seguintes colunas:
nome (obrigatório)
preço (obrigatório)
descricao (obrigatório, 150 caracteres)
desconto (obrigatório)
dataDesconto (obrigatório)
categoria (obrigatório)
Crie uma rota PUT
para atualizar serviços existentes.
/servicos/:id
Depende de: BE-8
Crie duas rotas GET
para listagem de produtos.
/produtos
/produtos?nome=
ou /produtos?categoria=
, os dados devem ser fitrados para que apareçam apenas produtos de acordo com a busca./produtos/:id
Depende de: BE-1
Crie um novo model para a aplicação backend. Suas colunas são:
codigo (chave primária, deve ser um UID)
;quantidade (obrigatório)
;O relacionamento entre Cliente-Pedido é 1:N. O relacionamento entre Produto-Pedido é 1:N.
Dica:
Implemente triggers do MySQL capazes de realizar backup de todas as tabelas do sistema, sempre que é feito alguma remoção de dados de alguma tabela.
O desenvolvedor deve dar manutenção periódica a esta task para garantir ao final que ela é consistente.
Crie uma rota PUT
para atualizar produtos existentes.
/produtos/:id
Depende de: BE-1
Crie um recurso com a biblioteca morgan que possibilite enviar as informações de requisição de log para o banco do MongoDB.
Crie uma rota POST
para inserir múltiplos pedidos.
/pedidos
Depende de: BE-18
Dica: bulkCreate
Crie uma rota DELETE
que remove um agendamento do sistema.
/agendamento/:id
id
./servicos/all
Depende de: BE-9
Crie uma variável de ambiente DB_FORCE
que pode ser true ou false. Use ela para configurar o sync force do sequelize, e caso seja true, use um esquema para preencher o banco com dados fictícios. Devem haver:
O desenvolvedor deve dar manutenção periódica a esta task para garantir ao final que o tratamento é consistente.
Crie uma rota PUT
para atualizar pedidos existentes.
/pedidos/:id
Depende de: BE-18
Crie uma rota POST
para inserir novos produtos.
/produtos
Depende de: BE-1
Validar com uso da biblioteca Joi os corpos de requisição das rotas da aplicação para impedir que dados inválidos sejam inseridos no banco de dados. Aplicar validação em todas as inserções e atualizações de dados, responder ao cliente com 400
em caso de dados fornecidos inválidos. É necessário que as mensagens de erro sejam traduzidas para o português usando a configuração messages da função validate
e que o error.details seja tratado para mostrar apenas um array com as mensagens de erro.
O desenvolvedor deve dar manutenção periódica a esta task para garantir ao final que o tratamento é consistente.
Crie três rotas DELETE
para remover pedidos.
/pedidos/:id
id
./pedidos/clientes/:id
/pedidos/produtos/:id
Depende de: BE-18
Crie uma rota GET
que mostra o endereço que pertence a um Cliente.
/clientes/:clienteId/endereco
clienteId
.Este model deve ser implementado após o model de Serviço para complementar. Pode nomear este model de junção como Agendamento. Além dos campos de chave estrangeira, deve haver:
dataAgendada (data prevista para realizar o serviço)
;realizada (booleano)
;Depende de: BE-8
.
Dica: Veja a seção Implementation da documentação.
Crie uma rota PUT
para atualizar um agendamento, é necessário o id do pet e também o id do serviço escolhido. Bem como as demais propriedades do model de agendamento.
Depende de: BE-9
Crie uma rota POST
para inserir um novo agendamento, é necessário o id do pet e também o id do serviço escolhido. Bem como as demais propriedades do model de agendamento.
Depende de: BE-9
Crie uma rota GET
para listar todos os agendamentos realizados no sistema.
Depende de: BE-9
Crie uma rota GET
que lista os pets que pertencem a um Cliente.
/clientes/:clienteId/pets
clienteId
.Crie duas rotas GET
para listagem de serviços.
/servicos
/servicos/:id
Depende de: BE-8
Crie uma rota POST
para inserir novos serviços.
/servicos
Depende de: BE-8
Crie um novo model para a aplicação backend. Suas colunas são:
nome (obrigatório)
;preço (obrigatório)
;O relacionamento entre Pet-Serviço é N:N. Deve ser implementado um segundo model que representa a tabela junção (Agendamento) entre as duas entidades.
Dica: Veja a seção Implementation da documentação.
Crie duas rotas DELETE
para remover serviços.
/servicos/:id
id
./servicos/all
Depende de: BE-8
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.