Desenvolvendo uma API REST que permite registrar as receitas e despesas de uma pessoa.
Neste projeto, desenvolvi as seguintes habilidades:
- Desenvolver funcionalidades da API guiado por testes (TDD);
- Conteinerizando a aplicação por meio do Dockerfile e docker-compose;
- Realizar operações assíncronas utilizando callbacks e Promises;
- Escrever scripts que criam e consomem Promises;
- Reescrever código que usa callbacks para que use Promises;
- Realizar chamadas de funções de forma consciente;
- Entender os conceitos básicos de como o JavaScript funciona;
- Detectar e solucionar problemas no código de forma mais objetiva;
- Entender a diferença entre execução síncrona e assíncrona;
- Entender o que é o HTTP, o que é uma API e o que os dois têm a ver com o Express;
- Escrever APIs utilizando Node e Express;
- Entender a estrutura de uma aplicação Express e como organizar meu código;
- Criar rotas e aplicar middlewares.
Node
, Express
, Middlewares
, Status Code
, API RESTful
, Docker
Desenvolvimento de uma integração do banco de dados MySQL a uma aplicação Express utilizando a biblioteca mysql2, permitindo a criação de uma API com o Express, capaz de cadastrar, consultar, atualizar e excluir dados do MySQL, sendo a aplicação conteinerizada.
👉 Com Docker
ℹ️ Rode os serviços
node
edb
com o comandodocker-compose up -d
.
-
Lembre-se de parar o
MySQL
se estiver usando localmente na porta padrão (3306
), ou adapte o docker-compose caso queria fazer uso da aplicação em containers; -
Esses serviços irão inicializar um container chamado
blogs_api
e outro chamadoprojetocontrolcash-database-1
; -
A partir daqui você pode acessar o container
controlcash_api
via CLI ou abri-lo no seu editor;
ℹ️ Use o comando
docker exec -it controlcash_api bash
.
- Ele te dará acesso ao terminal interativo do container criado pelo docker-compose, que está rodando em segundo plano.
ℹ️ Ao rodar o docker-compose, ele automaticamente irá rodar os seguintes comandos:
-
npm install
: Irá instalar todas as dependências; -
npm start
: Irá rodar a aplicação na porta30022
pelonodemon
, ou adapte o docker-compose, caso sinta necessidade.
ℹ️ Instale as dependências com
npm install
.
ℹ️ Rode a aplicação com
npm start
na porta3002
pelonodemon
.