https://github.com/jerp86/gostack-fundamentos-node
:fire: Desafio utilizando Node.js e TypeScript incluindo ferramentas como ts-node-dev, ESLint, Prettier, EditorConfig :rocket:
https://github.com/jerp86/gostack-fundamentos-node
Last synced: 2 months ago
JSON representation
:fire: Desafio utilizando Node.js e TypeScript incluindo ferramentas como ts-node-dev, ESLint, Prettier, EditorConfig :rocket:
- Host: GitHub
- URL: https://github.com/jerp86/gostack-fundamentos-node
- Owner: jerp86
- Created: 2020-04-16T23:26:24.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-03-26T13:03:34.000Z (over 4 years ago)
- Last Synced: 2025-12-26T10:48:43.669Z (6 months ago)
- Language: JavaScript
- Size: 1.12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

🔥 Desafio: Primeiro projeto Node.js 🚀
“Para quem fica melhor a cada dia, ficar pronto é utopia”!
---





---
# Indice
- :rocket: [Sobre o Desafio](#rocket-sobre-o-desafio)
- :memo: [Específicação dos testes](#memo-específicação-dos-testes)
- 👨💻️ [Tecnogias utilizadas](#%EF%B8%8F-tecnogias-utilizadas)
- 📦️ [Como baixar o projeto](#%EF%B8%8F-como-baixar-o-projeto)
---
## :rocket: Sobre o Desafio
O projeto **Fundamentos Node.JS** é o primeiro desafio do curso **Bootcamp GoStack** da [Rocketseat](https://rocketseat.com.br/), utilizando a técnica e tendência de [TDD (Test Driven Development)](https://pt.wikipedia.org/wiki/Test-driven_development).
Nesse desafio, foi criado uma aplicação para continuar treinando do que foi aprendido até o momento no Node.js junto ao TypeScript, utilizando o conceito de models, repositories e services!
Essa aplicação deve armazenar transações financeiras de entrada e saída, que deve permitir o cadastro e a listagem dessas transações.
Foi utilizado o template que está disponível nessa [url](https://github.com/Rocketseat/gostack-template-fundamentos-node) onde haviam 3 (três) testes que deveriam ter sido resolvidos para ganhar a nota total do desafio.
---
## :memo: Específicação dos testes
Em cada teste, tem uma breve descrição no que a aplicação deve cumprir para que o teste passe.
Para esse desafio, foi proposto os seguintes testes:
- **`should be able to create a new transaction`**: Para que esse teste passe, a 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, a 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, a 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 }`
---
## 👨💻️ Tecnogias utilizadas
O projeto foi desenvolvido utilizando as seguintes tecnologias:
- [Node.js](https://nodejs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Express](https://expressjs.com/)
- [UUIDv4](https://www.npmjs.com/package/uuidv4)
- [Visual Studio Code](https://code.visualstudio.com/)
- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Editor Config](https://editorconfig.org/)
---
## 📦️ Como baixar o projeto
```bash
# Clonar o repositório
❯ git clone https://github.com/jerp86/gostack-fundamentos-node.git
# Entrar no diretório
❯ cd gostack-fundamentos-node
# Instalar as dependências
❯ yarn
# ou pode utilizar npm
❯ npm install
# Iniciar o projeto
❯ yarn dev:server
# ou pode utilizar npm
❯ npm dev:server
# Iniciar os testes
❯ yarn test
# ou pode utilizar npm
❯ npm test
```
---
Feito com ❤️ por Jerp86 👋️ Entre em contato!