Trata-se de um back-end onde é possivel salvar transações, similar ao desafio 5, porém, com algumas diferenças que poderão ser notadas na explicação abaixo.
- NodeJs
- Typescript
- Express: Para rodar o servidor
- Postgres: Banco de dados
- TypeORM: Manipulação do bando
- Multer: Upload de arquivos
- CSV-Parser: Para a leitura de arquivos do tipo CSV
- Eslint/Prettier: Formatação de código
- Docker: Container para o banco de dados
- Insomnia: Para testar a API
- DBeaver: Para acessar o banco de dados
Para utilizar a aplicação é fundamental que estejam instalados as seguintes ferramentas:
- NodeJs
- Yarn ou NPM
- Docker
- DBeaver
- Insomnia Com estas ferramentas instaladas, siga os passos abaixo!
-
Abra o seu container com o DBeaver e crie o banco de dados com o nome de
gostack_desafio06
.
-
Faça o clone do repositório com o comando
git clone https://github.com/saleszera/desafio-database-upload.git
-
Utilize o comando
yarn
ounpm install
para fazer o download das dependencias.
- Rode as migrations com o comando
yarn typeorm migration:run
.
-
Abra o insomnia e teste as rotas
- Cadastro de transactions. Utilize o metodo POST para
http://localhost:3333/transactions
.
{ "title": "Pagamento", "value": 2000, "type": "income", "category": "Other" }
-
Listagem de transactions. Selecione o metodo GET para
http://localhost:3333/transacions
. -
Delete de transaction. Utilize o metodo DELETE para
http://localhost:3333/transactions/(id da transaction)
-
Importando arquivo CSV para cadastro de transactions. Utilize o metodo POST e selecione a opção Multipart Form para testar a rota.
- Cadastro de transactions. Utilize o metodo POST para
O arquivo .CSV deve estar no seguinte formato:
title, type, value, category
Loan, income, 1500, Others
Website Hosting, outcome, 50, Others
Ice cream, outcome, 3, Food