Code Monkey home page Code Monkey logo

apirotadepedidos's Introduction

Desenvolvimento de uma api do tipo Rest em NodeJs utilizando a framework express.

Descrição da aplicação:

A aplicação é um ambiente back-end que gerencia e automatiza uma rotina de pedidos, para qualquer tipo de serviço. Para isso foi utilizado o banco de dados relacional SQLite, foi utilizado o padrão do tipo REST e como organização conceitos de MVC.

Ferramentas utilizadas:

Para o desenvolvimento como já mencionado foi utilizado JavaScript com NodeJS como linguagem da aplicação e o Express como framework, além do banco de dados relacional SQLite e hospedagem pela ferramenta de cloud Heroku.

Dependencias necessárias:

"dependencies": {
    "consign": "^0.1.6",
    "cors": "^2.8.5",
    "dotenv": "^10.0.0",
    "express": "^4.17.1",
    "moment": "^2.29.1",
    "sqlite3": "^5.0.2"
  }

As dependencias podem ser encontradas neste arquivo do qual o trecho acima foi extraído, para instalar basta rodar o comando abaixo selecionando e copiando o mesmo com as teclas "Ctrl + c" e em seguida colar no terminal com as telas "Ctrl + Shift + v", o comando abaixo já irá fazer o clone deste repositório e instalar as dependencias necessárias.

git clone https://github.com/LeoCosta-dev/apiRotaDePedidos.git && cd apiRestNodeJsAgendaDeAtendimentos && npm install

Dependencias de desenvolvimento:

"devDependencies": {
    "jest": "^27.3.1",
    "nodemon": "^2.0.15"
  }

Em outra parte do arquivo de configuração é possível encontrar o código acima que foi extraído do mesmo, essas são as dependencias necessárias para o ambiente de desenvolvimento da aplicação, caso deseje instalar utilize os comandos abaixo em seu terminal logo após o comando das dependencias obrigatórias.

npm install --save-dev jest && npm install --save-dev nodemon

Inicialização da aplicação via terminal:

Para inicio da aplicação basta abrir o terminal na pasta do projeto ou executar o código abaixo.

npm start

Observação importante:

A versão NodeJs utilizada para desenvolvimento é a 16.x LTS, logo é necessário intalação de versão igual ou superior para a perfeita execução da mesma.

Rotas da api:

No presente momento temos apenas a rota "/pedidos" onde podemos fazer alguns métodos interessantes.

Ver todos os pedidos:

Utilizar o método HTTP Get no caminho "url da api" + /pedidos

Buscar pedidos por id:

Utilizar o método HTTP Get no caminho "url da api" + /pedidos/id

Adicionar pedidos:

Utilizar o método HTTP Post no caminho "url da api" + /pedidos com todos os dados necessários para o seu banco de dados. Abaijo segue um json de exemplo para corpo da requisição.

{
      "ENDERECO_CLIENTE": "STRING",
      "ENDERECO_FORNECEDOR": "STRING",
      "PRECO_FRETE": "DOUBLE",
      "PRAZO_ENTREGA": "INT",
      "ID_PRODUTO": "INT",
      "ID_FORNECEDOR": "INT",
      "PRECO_PRODUTO": "DOUBLE",
    }


Modificar um pedidos já existente:

Utilizar o método HTTP Patch no caminho "url da api" + /pedidos/:id passando os valores que deseja alterar especificando seus devidos campos. Para isso basta respeitar a sintaxe json novamente passada abaixo no body da requisição.

{
      "ENDERECO_CLIENTE": "STRING",
      "ENDERECO_FORNECEDOR": "STRING",
      "PRECO_FRETE": "DOUBLE",
      "PRAZO_ENTREGA": "INT",
      "ID_PRODUTO": "INT",
      "ID_FORNECEDOR": "INT",
      "PRECO_PRODUTO": "DOUBLE",
    }


Deletar um pedidos:

Utilizar o método HTTP Delete no caminho "url da api" + /pedidos/:id.



OBS.2: Caso você apague o arquivo do banco de dados sem querer por algum motivo desconhecido, rode o comando abaixo para criar outro novamente, mas atenção, esse novo banco virar vazio, apenas com a linha 1 contendo o exemplo dos tipos de dados aceitos nele.

node ./src/infra/create-database.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.