Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/leandroppf/gostack-desafio-fundamentos-reactjs

GoStack Desafio 07: GoFinances Web
https://github.com/leandroppf/gostack-desafio-fundamentos-reactjs

Last synced: 11 days ago
JSON representation

GoStack Desafio 07: GoFinances Web

Awesome Lists containing this project

README

        

GoStack


Desafio 07: GoFinances Web

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


GitHub language count


Made by Leandro Pedroso

License


Stargazers

## :rocket: Sobre o desafio

Nesse desafio, o objetivo era continuar desenvolvendo a aplicação de gestão de transações, a GoFinances. Para esse desafio foi utilizado React.js junto com TypeScript, utilizando rotas e envio de arquivos por formulário.

Essa aplicação se conecta com o backend do [Desafio 06](https://github.com/leandroppf/gostack-desafio-typeorm-upload), e exibe as transações criadas e permitindo a importação de um arquivo CSV para gerar novos registros no banco de dados.

### Layout da aplicação

Essa aplicação possui um layout criado pela equipe da Rocketseat.

O layout pode ser acessado através da página do Figma, no [seguinte link](https://www.figma.com/file/EgOhyj1Inz14dhWGVhRlhr/GoFinances?node-id=1%3A863).

### Funcionalidades da aplicação

- **`Listar as transações 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](https://github.com/Rocketseat/bootcamp-gostack-desafios/blob/master/desafio-database-upload/assets/file.csv).

### Específicação dos testes

O template também possui testes automatizados e um dos objetivos é que o código criado passe em todos os testes listados abaixo:

- **`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.

- **`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`.

- **`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.

---

Desafio concluído no dia 25/04/2020 por Leandro Pinto Pedroso Filho