/desafio-07-gofinances-web

Desafio 07: GoFinances Web

Primary LanguageTypeScript

GoStack

Desafio Fundamentos ReactJS: GoFinances Web

“Não espere resultados brilhantes se suas metas não forem claras”!

GitHub language count Made by Fabiano Vilela License Stargazers

Sobre o desafio   |    Funcionalidades da aplicação   |    Especificação dos testes

🚀 Sobre o desafio

Nesse desafio vou iniciar o Front-end da aplicação de gestão de transações, a GoFinances, e colocar em prática o que eu aprendi até o momento com ReactJS junto com Typescript, utiizando rotas e envio de arquivos por formulario

A Aplicação deve conectar com o backend já desenvolvido, e exibir as transações criadas e permitir a importação de um arquivo CSV para gerar novos registros no banco de dados.

Caso tenha interesse, segue os Links do Repositório:

Funcionalidades da aplicação

  • Listar os repositórios da sua API: Sua página Dashboard deve ser capaz de exibir uma listagem através de uma tabela, com o campo title, value, type e category de todas as transações que estão cadastradas na sua API.

  • Exibir o balance da sua API: Sua página Dashboard, você deve exibir o balance que é retornado do seu backend, contendo o total geral, junto ao total de entradas e saídas.

  • Importar arquivos CSV: Na sua página Import, você deve permitir o envio de um arquivo no formato csv para o seu backend, que irá fazer a importação das transações para o seu banco de dados. O arquivo csv deve seguir o seguinte modelo.

Específicação dos testes

Em cada teste, tem uma breve descrição do que a aplicação deve cumprir para que o teste passe.

Caso você tenha dúvidas quanto ao que são os testes, e como interpretá-los, dé uma olhada em nosso FAQ.

Para esse desafio, temos os seguintes testes:

  • should be able to list the total balance inside the cards: Para que esse teste passe, sua aplicação deve permitir que seja exibido na sua Dashboard, cards contendo o total de income, outcome e o total da subtração de income - outcome que são retornados pelo balance do seu backend.
  • should be able to list the transactions: Para que esse teste passe, sua aplicação deve permitir que sejam listados dentro de uma tabela, toda as transações que são retornadas do seu backend.

Dica: Para a exibição dos valores na listagem de transações, as transações com tipo income devem exibir os valores no formado R$ 5.500,00. Transações do tipo outcome devem exibir os valores no formado - R$ 5.500,00.

  • should be able to navigate to the import page: Para que esse teste passe, você deve permitir a troca de página através do Header, pelo botão que contém o nome Importar.

Dica: Utilize o componente Link que é exportado do react-router-dom, passando a propriedade to que leva para a página /import.

  • should be able to upload a file: Para que esse teste passe, você deve permitir que um arquivo seja enviado através do componente de drag-n-drop na página de import, e que seja possível exibir o nome do arquivo enviado para o input.

Autor

Fabiano Vilela - Desenvolvedor Front End

Agradecimentos

Gostaria de agradecer a todas as pessoas que me apoiam nessa jornada de início de carreira, especialmente a toda minha família e meus amigos que sempre estão me apoiando.


Feito com 💖 by Fabiano Vilela 🌎 Linkedin | Instagram