Skip to content

API introdutória de livros desenvolvida com Node.js + express e MongoDB

Notifications You must be signed in to change notification settings

ananuness/library-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Biblioteca API

API de livros desenvolvida com Express e MongoDB, demonstrando um CRUD (Create, Read, Update e Delete) básico. 📝

🛠️ Pré-requisitos

  • Node.js (12 >=);
  • npm (Node Package Manager);
  • Conhecimento básico em mongoDB e no ODM (Object Data Modeling) Mongoose;

📥 Instalação

  1. Clone o repositório:
  git clone git@github.com:<username>/library-api.git
  1. Navegue até a pasta do repositório:
  cd library-api
  1. Instale as dependências:
  npm i
  1. Crie um cluster gratuito no MongoDB Atlas para armazenar os dados exemplo do arquivo seed.json. Após criado, clique em Browse Collections, em seguida, em + Create Database, crie os campos de acordo com o Model em models/Book.js do projeto e substitua a url informada em config/dbConnect.js acessando o cluster, clicando em Connect > Drivers e por fim, copiando a url gerada.

💻 Rodando a aplicação

Para rodar a API, insira o seguinte comando no terminal no diretório do projeto:

  npm run dev

O servidor irá rodar no http://localhost:3000 (pu na porta da variável de ambiente PORT).

🌐 Endpoints

  • GET /books: Retorna todos os livros.

  • GET /books/search?publisher=(value): Retorna todos os livros de uma editora.

  • GET /books/:id: Retorna um livro pelo id informado.

  • POST /books: Cria um livro. O corpo da requisição precisa ter a seguinte estrutura:

{
  "title": "<title_name>",
  "author": "<author_name>",
  "isbn": "<isbn_number>",
  "publisher": "<publisher_name>",
  "edition": 1, // opcional
  "pages": 999  // opcional
}
  • PUT /books/:id: Atualiza o livro referente ao id informado. O corpo da requisição precisa ter pelo menos um campo a ser atualizado, exceto o campo _id:
{
  "title": "<title_name>",
}
  • DELETE /books/:id: Deleta o livro referente ao id informado no path da requisição.

Feito com 💚 por Ana Beatriz Nunes

About

API introdutória de livros desenvolvida com Node.js + express e MongoDB

Topics

Resources

Stars

Watchers

Forks