Coder Social home page Coder Social logo

front-back-mountain-backend's Introduction

front-back-montain-backend

front-back-mountain-backend's People

Contributors

amandalfs avatar engenuis avatar fernanda-campelo avatar luizlimadev avatar

Stargazers

 avatar  avatar

Watchers

 avatar

front-back-mountain-backend's Issues

Rota de editar cobranca

put /charges/chargeId

Na atualização da cobrança, poderá atualizar os respectivos dados (campos com * são obrigatórios):
Descrição ()
Status (
)
Valor ()
Vencimento (
)

Criar filtros e busca da rota de cobrancas

no filtro de cobrancas deve poder receber os seguintes queries

filter= ["pendente", "paga", "vencido"]
orderIdCharge= "asc" | "desc"
orderName= "asc" | "desc"

dever poder usar um search para filtrar pelo nome ou Id da cobrança
search=""

[Detalhes de Cobranças] bugs: modal com data errada

Descreva o bug
Ao abrir o modal de detalhe de cobrança ele abre com a data diferente da mostrada na tabela.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Cobranças'
  2. Clique em qualquer cobrança.
  3. Observe que a data que aparecerá no modal está um dia adiantada da mostrada na tabela.
  4. Veja o

Captura de Tela 2023-10-02 às 17 10 25
erro
Captura de Tela 2023-10-02 às 17 10 36

Comportamento esperado
Devem estar com a mesma data

[Edição de Cobranças] bugs: modal de editar com data errada.

Descreva o bug
Ao abrir o modal de editar cobrança ele abre com a data diferente da mostrada na tabela.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Cobranças'
  2. Clique em 'editar' em qualquer cobrança.
  3. Observe que a data que aparecerá no modal está um dia adiantada da mostrada na tabela.
  4. Veja o erro

Captura de Tela 2023-10-02 às 17 00 07
Captura de Tela 2023-10-02 às 17 06 26

Comportamento esperado
Devem estar com a mesma data

Erro ao Editar Informações do Cliente (Telefone)

Descreva o bug
Na hora de confirmar as modificações do cliente, mesmo sem mudar o telefone, a API retorna um erro indicando que uma conta já existe com o telefone.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para página de clientes
  2. Clique em editar cliente
  3. Clique em Aplicar
  4. Veja o erro

Comportamento esperado
Espera-se que os dados que não foram alterados, não retornem como erros da API.

Capturas de tela
image

[Home] bugs: Estilização do Popover

Descreva o bug
Não possui a seta para cima igual no Figma.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Home'
  2. Clique na seta para baixo ao lado do nome do usuário no canto superior a direita da tela.
  3. Observe o desenho do Popover que abre.

Imagem do erro
image

Comportamento esperado
Estar identico ao figma.

[Cadastro de Clientes] bugs: Tela de cadastro com scroll

Descreva o bug
Na tela cadastro existe um scroll vertical... ultrapassando o Heigth de 972px determinado no Figma

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Cadastrar-se'.
  2. Verifique e role a barra de rolagem vertical do navegador.
  3. Veja o erro

image

Comportamento esperado
Tela sem barra de rolagem.

Erro de status code para senha inválida!

Ao testar o Login constatei que a resposta para erro de senha erradda esta chegando com status de sucesso e nao de erro!

Segue a imagem do erro encontrado na API.... o codeigo deve ser do tipo 4xx.

image

Implementar rotas de detalhamento do cliente

Implementar 2 rotas:

  • GET/customers/:customerid, para listar todos os detalhes do cliente.
  • GET/customers/:customerid/charges para listar as cobranças do cliente em questão.

Na rota GET/customers/:customerid, deve retornar:

  • Um título com o nome do cliente
  • CPF
  • E-mail
  • Telefone
  • Endereço completo

Na rota GET/customers/:customerid/charges, deve retornar:

  • Identificador da Cobrança
  • Descrição
  • Data
  • Valor
  • Status

[Home] bugs: Atualização da tabela com filtro

Descreva o bug
Ao clicar em qualquer link "Ver todos" ele carrega a tabela antiga primeiro, e dpois atualiza com o novo filtro do botao clidado.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Home'
  2. Clique em 'Ver todos' eem qualquer tabela.
  3. Observe a tabela da página que irá abrir, estará preenchida incorretamente.
  4. Veja o erro

Comportamento esperado
Deve iniciar com a tabela vazia!

Erro na edição do Usuário

Descreva o bug
Ao tentar editar o usuário, a API retorna que é obrigatorio informar alguns campos:

1- CPF.
2- Telefone

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para o Modal de ediçao de usuarios.
  2. Preencha somente nome e email.
  3. Ao enviar a API bloqueia porque os demais campos não foram preenchidos.

Comportamento esperado
Ser permitido editar somente um campo.... independente de preencher outros.

Ex: Dar para alterar apenas o email.

Capturas de tela
1.
image

image

Contexto adicional
Uma opçao é criar um middleware separado para a rota PUT da ediçao de usuario para colocar as condicionais especificas desta rota.

Bugs de query

Estão ocorrendo dois bugs na API. O primeiro bug é que nas métricas de usuário, a consulta está repetindo o mesmo usuário duas vezes. O segundo bug é que, se o usuário tem mais de uma cobrança, e uma está no estado 'paga' e a outra no estado 'vencido', ele está aparecendo em ambas as métricas, tanto na de 'em dia' quanto na de 'inadimplentes'.

image
image

Corrigir bugs da charges

Descreva o bug
O bug acontece quando o customer muda o nome, as cobrancas ficam com o nome antigo

Reproduzir

  1. Crie um cliente
  2. Crie uma cobranca
  3. Edite o cliente.'
  4. Veja o nome do cliente como antigo

Comportamento esperado
deveria mudar o nome da cobranca tambem

Solução
Tirar o nome da tabela de charges
Tirar o nome do campo de charges
Na lista de charges usar um join para pegar o nome do cliente

[Edição de Cobranças] bugs: alerta em inglês

Descreva o bug
Ao colocar um valor com centavos com "," no lugar de ".", o modal traz uma mensagem em inglês.

Reproduzir
Etapas para reproduzir o comportamento:

  1. Vá para 'Cobranças'
  2. Clique em 'editar' em qualquer cobrança.
  3. insira um valor que não represente um número como "89,32".
  4. Veja o erro

Captura de Tela 2023-10-02 às 17 07 44

Comportamento esperado
Deve apresentar a mensagem em português.

Entidade Customer

Criar a entidade customer

Seguir as anotações do Notion para criar de acordo com o modelo do Mock

  • Customer metrics
  • Customer
  • Create customer

Conferir o modelo de resposta JSON no notion: Protocolos/Frontend/Modelo Mock (API)

Rota de excluir cobrancas

delete /charges/chargeId

Só poderá excluir a cobrança, se:
A cobrança estiver com status pendente
A data de vencimento for igual ou posterior a data atual
Cobranças com status "pagas", não poderão ser apagadas

Reevisão de código, Padronização, testes de Release!

  1. Revisar o código, organizá-lo, checar se tudo segue as nomenclaturas em inglês.
  2. Checar se os códigos feitos pelas devs estão no mesmo padrao de escrita
    Ex: Rotas GET com vervo list
  3. Abrir a branch "release", executar todos os teste com o código em produção e deixá-lo pronto para o Merge com a Main.

Entidade Charges

Criar a entidade charges

Seguir as anotações do Notion para criar de acordo com o modelo do Mock

  • Charges
  • Create charges
  • Charges metrics

Conferir o modelo de resposta JSON no notion: Protocolos/Frontend/Modelo Mock (API)

Criar filtro e busca da rota de clientes

no filtro de clientes deve poder receber os seguintes queries

filter= ["emDia", "inadisplemente"]
orderEmail= "asc" | "desc"
orderCPF= "asc" | "desc"
orderId = "asc" | "desc"

dever poder usar um search para filtrar pelo nome
search=""

Erro no caminho da resposta de erro para Senha inválida

Ao tentar efetuar o Login, os erros são recebidos pela rota response.data.errors
image

Enquanto o da "Senha Invalida" vem apenas na propriedade message
image

Sendo assim no Front não conseguimos exibir todos os erros na tela do usuário de uma vez só.

Possivel soluçao
Adicionar o erro de mensagem inválida no mesmo objeto de erros que contem as menssagens abaixo
image

[Busca em Cobrança] bug: não funciona clicando na lupa

Descreva o bug
Ao tentar fazer uma busca na página de cobranças ela só carrega se clicado em enter, ao clicar na lupa ela não faz nada.

Reproduzir
Etapas para reproduzir o comportamento:

Vá para 'Cobranças'
Escreva algo em "pesquisa".
Clique na lupa.
Veja o erro

Comportamento esperado
Deveria fazer a pesquisa assim como se tivesse dado enter.

Implementar rota de atualização do cliente

Implementar rota de atualização dos dados de um cliente cadastrado.

Deve ser uma rota PUT/customers/:customerid que retorna os seguintes dados:

  • Nome (*)
  • E-mail (*)
  • CPF (*)
  • Telefone (*)
  • CEP
  • Endereço
  • Complemento
  • Bairro
  • Cidade.
  • Estado

Deverão ser informadas mensagens de erro em casos de:

  • Campos obrigatórios passados em branco.
  • E-mail informado for diferente do cliente em questão e já existir cadastrado para outro cliente.
  • CPF informado for diferente do cliente em questão e já existir cadastrado para outro cliente.

Após realizado a atualização com sucesso o usuário deverá receber uma mensagem de confirmação.

Arquitetura e Configuração

  1. Criar o projeto com Node.
  2. Configurar o ESlint.
  3. Intalar as bibliotecas.

**Arquitetura **
Pastas:

  • controllers
  • database
  • middlewares
  • schemas
  • routes

Bibliotecas

  • express
  • nodemon (desenvolvimento)
  • dotenv (desenvolvimento)
  • bcrypt
  • jsonwebtoken

Entidade User

Criar a entidade user

Seguir as anotações do Notion para criar de acordo com o modelo do Mock

  • Create user
  • Sessions user
  • Edit user
  • Profile user

Conferir o modelo de resposta JSON no notion: Protocolos/Frontend/Modelo Mock (API)

[Ordenação de Cobranças] bugs: ordenação errada por conta de maiúsculas e minúsculas

Descreva o bug
Ao ordenar a tabela de cobranças por ordem alfabética, ela faz a distinção entre letras maiúscula e minúscula, deixando fora de ordem.

Reproduzir
Etapas para reproduzir o comportamento:

Vá para 'Cobranças'
Clique nas setas ao lado de cliente.
Observe que a lista é ordenada primeiro em quem tem letra maiuscula e depois do ultimo começa a ordenação em letras minúsculas.
Veja o er

Captura de Tela 2023-10-02 às 17 17 41
ro

Comportamento esperado
Devem estar ordenadas em ordem alfabética.

Escopo da API

#2 Fazer o escopo da API

Utilizar o HackMD (https://hackmd.io/) para podermos compartilhar no projeto.

Deve conter:

  • Nome da Entidate
  • Verbo Rest - nome do controlador.
  • Propriedades que o objeto de requisiçao deve conter.
  • O que havera no Res.
  • Objetivos gerais da rota.

Ex:

Login

POST - SingUp
req
name*
email*
phone*
password*

res
sucess/error

Objetivos gerais
Validar username e senha
Verificar se o username/email ja existe no DB
Criptografar a senha
Cadastrar o usuario no banco de dados
Retornar sucesso ou erro

Erro validação senha!

Há discordancia entre os números mínimos de caracteres do password:

No Schema esta 8, mas na mensagem retornada está 5.

image

Ai no front o usuário digita 5 caracteres e continua retornando que precisa de 5.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.