/eos

Teste prático para desenvolvedores Back-End

Primary LanguageTypeScriptMIT LicenseMIT

Description

O projeto foi criado com Nest framework TypeScript.

Requisitos

  • NodeJS 18.18.1
  • Docker
  • Docker Compose
  • Postgres

Execução do código em container

# Se o container cair rode novamente o contêiner visto que
# o banco de dados não está em um volume
$ docker compose up -d --force-recreate --build

docker compose up -d --force-recreate --build

Arquivo Postman

Swagger

Sistema de autenticação

  • Basta criação o usuário e fazer o login utilizando a rota
    • POST http://localhost:3000/user
    • O token será retornado no header da requisição e deve ser utilizado no header da requisição para as rotas de postagem
{
  "user": {
    "name": "Alvaro",
    "email": "bilu@teteia.com.br"
  },
  "password": "1234563"
}
  • POST http://localhost:3000/user/login
    • O token será retornado no header da requisição e deve ser utilizado no header da requisição para as rotas de postagem
{
    "email": "bilu@teteia.com.br",
    "password": "1234563"
}
{
    "post[title]": "Postagem 1",
    "post[description]": "Conteúdo da postagem 1"
    "file": arquivo.jpg
}
{
    "post": {
        "id": 1,
        "title": "Titulo do Post2",
        "description": "Descriçao so post2"
    }
}
{
    "id": 1,
    "file": "1-1697413474362.png",
    "user_id": 1,
    "title": "Titulo do Post2",
    "description": "Descriçao so post2",
    "views": 3,
    "likes": 1,
    "dislikes": 1
}

Email

{
    "comment": {
        "post_id": 1,
        "description": "Descrição dsds"
    }
}
{
    "comment": {
        "description": "Descrição 2"
    }
}

run

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# test coverage
$ npm run test:cov
TODO: Teste não totalizado em todas as rotas

Stay in touch

License

Nest is MIT licensed.