Skip to content

REST API for Imobify, made with NestJS, Prisma, Cloudinary, etc.

Notifications You must be signed in to change notification settings

imobify/imobify-backend

Repository files navigation

Imobify - Backend

Read in English

🔧 Instalação

Requisitos:

  • Node.js v18 ou maior.
  • Uma instância do PostgreSQL, ou Docker.
# 1. instale as dependências do projeto
npm install

# 2. copie .env.template para .env
cp .env.template .env

# 3. preencha o arquivo .env com suas variáveis de ambiente

# 4. execute as migrations do Prisma
npx prisma migrate dev

# 5. execute o projeto em modo de desenvolvimento
npm run start:dev

A API ficará disponível em http://localhost:3000/.

Utilizando Docker:

Docker é recomendado para instanciar bancos de dados localmente para desenvolvimento e testes.

Use os seguintes scripts:

# inicializa o banco de dados de desenvolvimento
npm run db:dev:up

# para o banco de dados de desenvolvimento
npm run db:dev:rm

# reinicia o banco de dados de desenvolvimento
npm run db:dev:restart

# inicializa o banco de dados de testes
npm run db:test:up

# para o banco de dados de testes
npm run db:test:rm

# reinicia o banco de dados de testes
npm run db:test:restart

💻 Tecnologias

  • NestJS - Framework Node.js para construção de aplicações eficientes, confiáveis e escaláveis no lado do servidor.
  • Prisma com PostgreSQL - ORM e banco de dados.
  • PostGIS - Armazenamento e processamento de dados geográficos.
  • Jest e PactumJS - Testes end-to-end.
  • Docker - Ambientes de desenvolvimento e testes com bancos de dados em containers.
  • Cloudinary - Serviço em cloud para upload e entrega de imagens.

⚙️ Utilitários

Este repositório está configurado com:

  • husky para Git hooks
    • executa lint-staging, eslint e prettier em pre-commit
    • executa os testes em pre-push
    • valida a mensagem de commit com commitlint em commit-msg
  • commitizen com commitlint para impor commits padronizados: <tipo>[escopo opcional]: <descrição>

Releases

No releases published

Packages

No packages published

Languages