mdccg / decoupled-contact-book-api

API de uma agenda telefônica refatorada com Prisma e PostgreSQL.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

decoupled-contact-book-api

Sumário

Motivação

Este app consiste em uma refatoração do repositório já refatorado anteriormente, refactored-contact-book-api, mas desta vez utilizando Prisma e PostgreSQL. A razão para a nova refatoração não foi o framework de testes, mas sim o fato de que a dependência mongoose obrigava o time de desenvolvimento a escrever códigos muito acoplados apenas para acessar instâncias de bancos de dados MongoDB.

Com a utilização de Prisma e PostgreSQL, foram abordados conceitos como classes DAO (do inglês: Data Access Object) genéricas e boas convenções para facilitar a troca de banco de dados ou a tecnologia que faz o acesso ao banco de dados, por exemplo.

Este foi o quinto repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Linguagem de Programação III.

← Repositório anterior Próximo repositório →

Pilha de tecnologia

Papel Tecnologia
Ambiente de execução Node
Linguagem de programação TypeScript
Virtualização de banco de dados Docker
ORM Prisma
Banco de dados1 MongoDB
Banco de dados2 PostgreSQL

Como rodar

Pré-requisitos

Passo a passo

  1. Clone o repositório de código em sua máquina;

  2. Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);

  3. Instale as dependências do projeto através do seguinte comando:

$ npm install

Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:

$ yarn
  1. Com o Docker instalado, execute o comando abaixo para levantar o container Docker com o respectivo banco de dados virtualizado. Certifique-se de estar no diretório do arquivo docker-compose.yml;
$ docker-compose up -d

O parâmetro -d serve para desocupar o shell de comando logo após a execução do comando. É uma boa convenção, ao encerrar a execução do app, derrubar o container levantado através do comando:

$ docker-compose down

Mas, não se preocupe. As tuplas inseridas no banco de dados não serão deletadas com a derrubada do container.

  1. Agora, para se certificar de que o Prisma está devidamente configurado em sua máquina, execute o seguinte comando:
$ yarn prisma

O script prisma está programado para criar uma nova migração no diretório prisma/migrations.

  1. Finalmente, execute o seguinte comando para executar o app:

Para npm:

$ npm run start

Para Yarn:

$ yarn start

About

API de uma agenda telefônica refatorada com Prisma e PostgreSQL.


Languages

Language:TypeScript 100.0%