Este guia fornece as diretrizes para configurar o ambiente de desenvolvimento para a API utilizando Docker, Node.js, TypeScript e Prisma. Siga os passos abaixo para instalar as dependências, subir o container do PostgreSQL e configurar o Prisma.
Certifique-se de que o Docker está instalado na sua máquina. Caso não tenha, siga as instruções de instalação no site oficial: Docker Installation.
Existe um arquivo chamado docker-compose.yml
na raiz do projeto com o seguinte conteúdo:
name: api-postgres
services:
pg:
image: postgres:latest
container_name: db
restart: always
environment:
POSTGRES_USER: docker
POSTGRES_PASSWORD: docker
POSTGRES_DB: dbusers
ports:
- '5432:5432' # Mapeia a porta padrão do PostgreSQL para a máquina host
volumes:
- data:/var/lib/postgresql/data # Persistência dos dados
volumes:
data:
No terminal, navegue até a pasta onde o arquivo docker-compose.yml
está localizado e execute o seguinte comando:
docker-compose up -d
Isso irá baixar a imagem do PostgreSQL e subir o container com as configurações especificadas.
Certifique-se de que o Node.js e o npm estão instalados na sua máquina. Caso não tenha, siga as instruções de instalação no site oficial: Node.js Installation.
Na raiz do projeto, execute o seguinte comando para instalar todas as dependências:
npm install
DATABASE_URL="postgresql://docker:docker@localhost:5432/dbusers"
REDIS_HOST="localhost"
REDIS_USERNAME="default"
REDIS_PASSWORD=""
REDIS_PORT=6379
Execute as migrações para criar as tabelas no banco de dados:
npx prisma migrate dev
Para visualizar e manipular os dados diretamente no banco de dados, utilize o Prisma Studio:
npx prisma studio
Isso abrirá uma interface gráfica no seu navegador onde você poderá visualizar e editar os dados.
image: postgres:latest
: Especifica a imagem do PostgreSQL que será utilizada.container_name: db
: Define o nome do container comodb
.restart: always
: Garante que o container sempre reinicie em caso de falha.environment
: Define variáveis de ambiente para configurar o PostgreSQL, como usuário, senha e nome do banco de dados.ports
: Mapeia a porta 5432 do container para a porta 5432 da máquina host.volumes
: Persiste os dados do banco de dados em um volume chamadodata
.
4. Rodar o servidor e acessar a documentação swagger (http://localhost:3333/doocs)
npm run dev
Seguindo esses passos, você terá um ambiente de desenvolvimento configurado para a API com Node.js, TypeScript, Prisma e PostgreSQL. Agora você pode começar a desenvolver sua aplicação!