Skip to content

Latest commit

 

History

History
96 lines (59 loc) · 1.65 KB

README.md

File metadata and controls

96 lines (59 loc) · 1.65 KB

App

API Simples com TDD

RFs (Requisitos funcionais)

  • Deve ser possível se cadastrar;
  • Deve ser possível se autenticar;
  • Deve ser possível obter o perfil de um usuário logado;

RNs (Regras de negócio)

  • O usuário não deve poder se cadastrar com um e-mail duplicado;

RNFs (Requisitos não-funcionais)

  • A senha do usuário precisa estar criptografada;
  • Os dados da aplicação precisam estar persistidos em um banco PostgreSQL;
  • Todas listas de dados precisam estar paginadas com 20 itens por páginas;
  • O usuário deve ser indentificado por um JWT (JSON Web Token);

Rodando localmente

Clone o projeto

  git [email protected]:cubos-academy/desafio-2-devops.git

Entre no diretório do projeto

  cd desafio-2-devops

Instale as dependências

  npm install

Rode a imagem do docker

  docker compose up -d

Rode as migrations do prisma

  npx prisma migrate dev

Rodando os testes

Para rodar os testes unitários, rode o seguinte comando

  npm run test

Para rodar os testes de integração, rode o seguinte comando

  npm run test:e2e

Iniciando o projeto

Para rodar os testes unitários, rode o seguinte comando

  npm run dev

Variáveis de Ambiente

Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env

NODE_ENV

JWT_SECRET

DATABASE_URL

Valores default

NODE_ENV=dev

JWT_SECRET=3539976c318f230c6ed42dbfa56aceb0

DATABASE_URL="postgresql://docker:docker@localhost:5432/apisolid?schema=public"

Stack utilizada

Node, Fastify, Viste, Supertest, Docker