Olá, bem-vindo à série de posts sobre como criar uma API REST com NestJS! Neste primeiro post vamos configurar nosso ambiente para o desenvolvimento da nossa aplicação.
Para o setup do nosso ambiente vamos precisar de:
- Docker;
- Um gerenciador de banco de dados (aqui eu irei utilizar o DBeaver);
- Um editor de código de sua preferência (aqui eu irei utilizar o MS Visual Code)
- Banco de dados
1 - Instalando o Docker
Antes de começar a instalação do Docker, é necessário atualizar a lista de pacotes do sistema:
sudo apt update
É necessário instalar alguns pacotes de pré-requisitos que permitem que o apt utilize pacotes via HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Adicione a chave GPG e repositório do Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Atualize os pacotes e instale o Docker:
sudo apt update
sudo apt install docker-ce
Por último, baixe o docker-compose, faça a instalação, e mude as permissões do arquivo para rodá-lo no Linux:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Dica: caso precise de alguma ajuda extra, este link pode ajudar!
2 - Configurando o Banco de dados com o Docker
Nesse conjunto de posts iremos usar um banco de dados postgres. Para isso precisaremos configurar o ambiente dele no Docker que instalamos no passo anterior.
Vamos começar criando um arquivo docker-compose. Navegue até o diretório de sua preferência e crie um arquivo docker-compose.yml, é nesse arquivo que vamos escrever as configurações do postgres que iremos utilizar.
No arquivo, coloque a seguinte configuração:
version: '3.4'
services:
postgresql:
image: postgres:10.7 #ou ‘postgres: latest’, se preferir.
environment:
POSTGRES_USER: root
POSTGRES_PASSWORD: root
volumes:
- ./dbdata:/var/lib/postgresql/data
ports:
- 5432:5432
restart: always
em seguida, abra o diretório no terminal e execute o arquivo:
sudo docker-compose up -d
Feito! Nosso container está configurado e pronto para ser utilizado!
3 - Instalando e configurando o DBeaver
Vamos usar o DBeaver para administrar o nosso banco de dados de forma mais simples.
Opção 1 - Baixando o Instalador do DBeaver:
Para baixar o DBeaver, acesse o site de download e escolha a versão Community correta para o seu sistema operacional
Opção 2 - Instalando o DBeaver com snap no Linux:
Por padrão, o snap já vem instalado a partir da versão 16.x do Ubuntu, e para instalar o DBeaver, basta abrir o terminal e usar o comando:
sudo snap install dbeaver-ce
Configurando o DBeaver:
Nosso próximo passo agora é configurar a conexão com nosso banco de dados postgres no DBeaver
Com o DBeaver aberto, clique em new database connection

Selecione PostgreSQL

Em Authentication, vamos inserir o username e password que usamos na criação do container.
É possível também definir o nome, tipo, descrição e afins clicando no botão Connection Details destacado na imagem

Antes de finalizar a criação, é necessário habilitar a visualização de todos os bancos de dados que serão criados na conexão:

Após clicar em Finish, a conexão será exibida no menu:

4 - Instalando e configurando o MS Visual Code:
Opção 1 - Baixando o Instalador do MS Visual Code:
Para baixar o Visual Code, acesse o site de download e escolha a versão correta para o seu sistema operacional
Opção 2 - Instalando o MS Visual Code com snap no Linux:
sudo snap install code --classic
Configurando o Visual Code:
Após instalar o Visual Code, é interessante o uso de algumas extensões que irão nos ajudar durante o desenvolvimento da nossa API, para isso, navegue até extensions no menu lateral

Extensões que eu recomendo:
Chegamos ao fim dessa primeira parte!
Com o ambiente configurado poderemos dar início à construção da nossa api com NestJs.
Te aguardo no próximo post!