Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leonardotoniolo/desafio-primeiro-projeto-nodejs
Essa será uma aplicação para armazenar transações financeiras de entrada e saída, que deve permitir o cadastro e a listagem dessas transações.
https://github.com/leonardotoniolo/desafio-primeiro-projeto-nodejs
docker nodejs typescript
Last synced: 10 days ago
JSON representation
Essa será uma aplicação para armazenar transações financeiras de entrada e saída, que deve permitir o cadastro e a listagem dessas transações.
- Host: GitHub
- URL: https://github.com/leonardotoniolo/desafio-primeiro-projeto-nodejs
- Owner: LeonardoToniolo
- License: mit
- Created: 2020-11-09T12:39:02.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T04:26:21.000Z (almost 2 years ago)
- Last Synced: 2023-03-04T10:29:54.276Z (over 1 year ago)
- Topics: docker, nodejs, typescript
- Language: JavaScript
- Homepage:
- Size: 1.44 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Desafio 05: Primeiro projeto Node.js“Para quem fica melhor a cada dia, ficar pronto é utopia”!
## :rocket: Sobre
Essa será uma aplicação para armazenar transações financeiras de entrada e saída, que deve permitir o cadastro e a listagem dessas transações.
### Rotas da aplicação
- **`POST /transactions`**: A rota deve receber `title`, `value` e `type` dentro do corpo da requisição, sendo `type` o tipo da transação, que deve ser `income` para entradas (depósitos) e `outcome` para saídas (retiradas).
- **`GET /transactions`**: Essa rota deve retornar uma listagem com todas as transações que você cadastrou até agora, junto com o valor de soma de entradas, retiradas e total de crédito.
### Especificação dos testes
- **`should be able to create a new transaction`**: Para que esse teste passe, sua aplicação deve permitir que uma transação seja criada, e retorne um json com a transação criada.
- **`should be able to list the transactions`**: Para que esse teste passe, sua aplicação deve permitir que seja retornado um objeto contendo todas as transações junto ao balanço de income, outcome e total das transações que foram criadas até o momento.
- **`should not be able to create outcome transaction without a valid balance`**: Para que esse teste passe, sua aplicação não deve permitir que uma transação do tipo `outcome` extrapole o valor total que o usuário tem em caixa, retornando uma resposta com código HTTP 400 e uma mensagem de erro no seguinte formato: `{ error: string }`
## :memo: Licença
Esse projeto está sob a licença MIT. Veja o arquivo [LICENSE](../LICENSE) para mais detalhes.