Desafio utilizando Node.js e TypeScript incluindo ferramentas como ts-node-dev, ESLint, Prettier, EditorConfig
O projeto Fundamentos Node.JS é o primeiro desafio do curso Bootcamp GoStack da Rocketseat, utilizando a técnica e tendência de TDD (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 onde haviam 3 (três) testes que deveriam ter sido resolvidos para ganhar a nota total do desafio.
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 }
O projeto foi desenvolvido utilizando as seguintes tecnologias:
# 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