Skip to content

A RESTful API fornece endpoints para criação, alteração, listagem e deleção de posts. Bem como a criação e deleção de comentários em um post.

Notifications You must be signed in to change notification settings

caiosdeo/posts-comments-api

Repository files navigation

API para Posts e Comentários

Descrição

Este é um projeto de uma API RESTful desenvolvida em TypeScript/Express utilizando do Docker Compose para comunicação da API com o banco MongoDB. Ela fornece endpoints para criação, alteração, listagem e deleção de posts. Bem como a criação e deleção de comentários em um post.

Instalação & Configuração

  1. Clone este repositório em sua máquina local usando o comando:
   git clone https://github.com/caiosdeo/posts-comments-api.git
  1. Navegue até o diretório do projeto:
   cd posts-comments-api
  1. Antes de rodar a API, certifique-se de configurar as variáveis de ambiente necessárias. Você pode encontrar as variáveis de ambiente necessárias no email enviado, necessitando apenas preenchê-las de acordo com o .env.example presente no repositório. O arquivo .env deve ser criado na raiz do projeto.

  2. Instale as dependências do projeto:

    npm install
  1. Para finalizar a instalação e executar a API, basta usar o Docker Compose:
    docker compose up -d
  1. Para saber se já é possível usar a API, é só utilizar os logs:
    docker compose logs api

Testando a API

Utilizando do Postman, você pode utilizar a seguinte coleção para testar os endpoints da API, é necessário exportar ela e importar a mesma localmente:

Documentação da API

A URL base para todos os endpoints é: http://localhost:8080.

Posts

Listar posts

Endpoint para listar todos os usuários cadastrados.

  • URL: /posts
  • Método: GET
  • Parâmetros de Consulta:
    • pageNumber (opcional): Número da página para paginação (padrão: 1)
    • pageSize (opcional): Limite de resultados por página (padrão: 10)

Criar post

Endpoint para criar um novo post.

  • URL: /posts
  • Método: POST
  • Corpo da requisição:
{
  "title": "Titulo do post",
  "author": "Autor do post",
  "content": "Conteúdo do post"
}

Detalhes de um post

Endpoint para obter os detalhes de um post específico.

  • URL: /posts/:postId
  • Método: GET
  • Parâmetros de rota: id do post

Atualizar post

Endpoint para atualizar os dados de um post existente.

  • URL: /posts/:postId
  • Método: PATCH
  • Parâmetros de rota: id do post
  • Corpo da Requisição:
{
  "title": "Titulo do post (opcional)",
  "author": "Autor do post (opcional)",
  "content": "Conteúdo do post (opcional)"
}

Deletar um post

Endpoint para deletar um post específico.

  • URL: /posts/:postId
  • Método: DELETE
  • Parâmetros de rota: id do post

Comments

Listar posts

Endpoint para listar todos os usuários cadastrados.

  • URL: /posts
  • Método: GET
  • Parâmetros de Consulta:
    • pageNumber (opcional): Número da página para paginação (padrão: 1)
    • pageSize (opcional): Limite de resultados por página (padrão: 10)

Criar post

Endpoint para criar um novo post.

  • URL: /posts
  • Método: POST
  • Corpo da requisição:
{
  "title": "Titulo do post",
  "author": "Autor do post",
  "content": "Conteúdo do post"
}

Deletar um post

Endpoint para deletar um post específico.

  • URL: /posts/:postId
  • Método: DELETE
  • Parâmetros de rota: id do post

About

A RESTful API fornece endpoints para criação, alteração, listagem e deleção de posts. Bem como a criação e deleção de comentários em um post.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published