Skip to content

Repositório criado para postagem do Projeto Final de Módulo 4 na Resilia Educação.

Notifications You must be signed in to change notification settings

Moreira-Edu/LivrariaAPI

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desenvolvimento de API REST em NodeJS

Sobre o projeto 👨‍💻

O Projeto Final de Módulo 4 da Resilia consiste no desenvolvimento de uma API para uma Livraria. Nesse processo é obrigatório:

  • Padrão MVC
  • Verbos HTTP seguindo o padrão REST
  • Implementação de todas as operações de CRUD
  • Utilização do padrão de projeto (design pattern) DAO para abstração de transações no banco, com Promises

As rotas a serem desenvolvidas para as entidades são:

  • Listagem de todos os registros
  • Listagem de um único registro com base em um parâmetro de rota
  • Inserção de um registro
  • Modificação de um registro
  • Deleção de um registro

Status do projeto ✅

Badge em Desenvolvimento

Tecnologias utilizadas 💻

  • NodeJS
  • JavaScript
  • SQLite
  • Insominia
  • Heroku
  • Metodologia ágil Kanban (Trello)

Clonando o repositório

⚠️ Efetue o Clone do Projeto Livraria no repositório:

Rodar no terminal o seguinte comando: git clone https://github.com/NiltonCortesJr/LivrariaAPI.git

Dependências necessárias 📃

As dependências para a execução da aplicação estão listadas aqui

Para instalação, é necessário rodar no terminal o seguinte comando para cada: npm install nomeDaDependencia

"dependencies": {
    "axios": "^0.26.1",
    "cors": "^2.8.5",
    "dotenv": "^16.0.0",
    "express": "^4.18.1",
    "path": "^0.12.7",
    "sqlite": "^4.1.1",
    "sqlite3": "^5.0.6"
  }

Dependências de desenvolvimento 📈

As dependências necessárias para o ambiente de desenvolvimento da aplicação estão listadas aqui

"devDependencies": {
    "jest": "^28.0.3",
    "nodemon": "^2.0.16"
  }

Inicialização da aplicação via terminal ▶️

Para iniciar a aplicação, é necessário rodar no terminal o seguinte comando:

npm start

Ao rodar o comando, a mensagem abaixo deverá aparecer:

⚠️ Atenção: A versão NodeJs utilizada para desenvolvimento é a 16.x LTS ou superior.

TerminalConectado

Rotas configuradas neste projeto 📈

Rotas da LivrariaAPI

Indicada por cada entidade:

"/Clientes"
"/Informatica"
"/Livros"
"/Papelaria"

Para utilizar os verbos http em todas as rotas, utilize o Insominia, conforme o exemplo:

Insomnia

▪️ Para listar todos os Livros, utilize o método GET no caminho: "url da api/Livros"

▪️ Para listar os Livros por Id , utilize o método GET no caminho: "url da api/Livros/id"

Neste exemplo o Id pesquisado será o 2:

{
  "id":2
} 

▪️ Para inserir Livros, utilize o método POST no caminho: "url da api/Livros"

{
  "id": 100, 
  "nome":"Verity",
  "autora":"Colleen Hoover",
  "gênero": "romance",
  "valor": 32.90
}

▪️ Para atualizar Livros, utilize o método PUT no caminho: "url da api/Livros/id"

{
  "id": 100, 
  "nome":"Novembro 9",
  "autora":"Colleen Hoover",
  "gênero": "romance",
  "valor": 32.90
}

▪️ Para deletar Livros por Id, utilize o método DEL no caminho: "url da api/Livros/id"

{
  "id": 100
}

Comandos utilizando o Insomnia (*)

(*)Para que funcione as Request's, é necessário instalar o aplicativo Insominia no computador local. Escolha a melhor maneira de instalá-lo de acordo com as instruções no site: Insomnia

Para carregar as Request's no Insomnia, clique no botão abaixo, depois clique para abrir o Insomnia.aap e siga as instruções para carregar as request's.

Run in Insomnia}

DEPLOY da aplicação

Para visualização do deploy, insira o caminho seguido da entidade escolhida ex: https://livraria-api-modulo4.herokuapp.com/Livros

Autoria

👩‍💻 Izadora Ferreira dos Santos

👨‍💻 José Camara Etchichury Filho

👨‍💻 Vitor Luiz da Silva Del Duca

👨‍💻 Nilton Cortes Junior

🇧🇷

About

Repositório criado para postagem do Projeto Final de Módulo 4 na Resilia Educação.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%