front-back-mountain-backend's Introduction
front-back-mountain-backend's People
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:
- Vá para 'Cobranças'
- Clique em qualquer cobrança.
- Observe que a data que aparecerá no modal está um dia adiantada da mostrada na tabela.
- Veja o
Comportamento esperado
Devem estar com a mesma data
Implementar rota de listagem as cobranças dos clientes
- Deve ser uma rota GET /customers/:customerid/charges
[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:
- Vá para 'Cobranças'
- Clique em 'editar' em qualquer cobrança.
- Observe que a data que aparecerá no modal está um dia adiantada da mostrada na tabela.
- Veja o erro
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:
- Vá para página de clientes
- Clique em editar cliente
- Clique em Aplicar
- Veja o erro
Comportamento esperado
Espera-se que os dados que não foram alterados, não retornem como erros da API.
[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:
- Vá para 'Home'
- Clique na seta para baixo ao lado do nome do usuário no canto superior a direita da tela.
- Observe o desenho do Popover que abre.
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:
- Vá para 'Cadastrar-se'.
- Verifique e role a barra de rolagem vertical do navegador.
- Veja o erro
Comportamento esperado
Tela sem barra de rolagem.
Erro de status code para senha inválida!
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
- 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:
- Vá para 'Home'
- Clique em 'Ver todos' eem qualquer tabela.
- Observe a tabela da página que irá abrir, estará preenchida incorretamente.
- Veja o erro
Comportamento esperado
Deve iniciar com a tabela vazia!
Mensagem de erro de CPF existente fora do padrao
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:
- Vá para o Modal de ediçao de usuarios.
- Preencha somente nome e email.
- 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.
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'.
Input de pesquisas na página clientes só mostra o resultado com nomes exatos
- Deve ser possível no campo de pesquisas, encontrar clientes com apenas poucos caracteres de pesquisa e não com nomes exatos.
- Sugestão: Usar o método includes() de Strings transformando, tanto a string de pesquisa, quanto os itens pesquisados em LowerCase(), executando trim() nos dois.
Corrigir bugs da charges
Descreva o bug
O bug acontece quando o customer muda o nome, as cobrancas ficam com o nome antigo
Reproduzir
- Crie um cliente
- Crie uma cobranca
- Edite o cliente.'
- 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:
- Vá para 'Cobranças'
- Clique em 'editar' em qualquer cobrança.
- insira um valor que não represente um número como "89,32".
- Veja o erro
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!
- Revisar o código, organizá-lo, checar se tudo segue as nomenclaturas em inglês.
- Checar se os códigos feitos pelas devs estão no mesmo padrao de escrita
Ex: Rotas GET com vervo list - 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
Enquanto o da "Senha Invalida" vem apenas na propriedade message
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
[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
- Criar o projeto com Node.
- Configurar o ESlint.
- 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
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!
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.