Projeto Final - Web FullStack do curso Resilia

Overview

alt ou título da imagem alt ou título da imagem

Amassa API


Badge em Desenvolvimento

PRs Welcome

GitHub Org's stars GitHub forks

GitHub branches


As dependências utilizadas no projeto foram:

  • alt ou título da imagem
  • alt ou título da imagem
  • alt ou título da imagem
  • alt ou título da imagem
  • alt ou título da imagem

🏃 Iniciando o projeto

Recomendamos que faça o download do Insomnia na sua maquina!

Clone este repositório em sua máquina

$ git clone https://github.com/matgermano/Amassa_API.git

📋 Pré-requisitos para instalação

  1. Instale NodeJS em seu computador. Baixe os arquivos do repositório Amassa aqui no GitHub.

  2. Crie um banco de dados no sistema SQL de sua preferência: MySQL, Postegree, SQL Server, SQLITE3.

  3. Crie uma tabela com o nome amassa no banco de sua preferência.

  4. Instale via terminal utilizando os seguintes comandos:

 npm init
 npm install -g
 npm install express 
 npm install mysql2 
 npm install sequelize sequelize-cli path 
 npm install cors
 npm install --save-dev nodemon

no cmd, terminal ou powershell para rodar o amassa api:

"scripts": {
    "start": "nodemon src/index.js",
    "test": "echo "Error: no test specified" && exit 1"
  }
"scripts": {
    "start": "nodemon src/index.js"
      }
  • abrindo o insomnia você verá algo do tipo:
filter + v
  • clique no sinal de soma ( + )
  • escolha -> new request
  • você vera algo parecido com o exemplo abaixo:
name ( defaul to your request url if left empty )
my request get
create
  • clicando em get você poderá escolher qualquer um entre os quais usamos nessa livraria
  • get
  • post
  • put
  • delete
  • vamos usar o get primeiro depois é só clicar em create

usando o get

agora você deve estar vendo algo do tipo

get https://api.myproduct.com/v1/users send
body
  • clique em body e escolha o json
  • para fazer a consulta dos autores que existem, cole em cima dessa url o link abaixo e clique no send
http://localhost:3000/pratos_principais 
  • o resultado deve ser algo do tipo
[
  {
    "id": 1,
    "nome": "lasanha bolonhesa",
    "ingredientes": "Ragu de carne, molho de tomate, parmesão e muçarela gratinada.",
    "porcao":"Para dividir"
    "preco":"R$60,00"
    "createdat": "2021-11-29t00:58:06.380z",
    "updatedat": "2021-11-29t00:58:06.380z"
  },
]
  • para fazer a consulta de um prato existente
http://localhost:3000/pratos_principais/1 ou 2
  • note que o numero 1 ou 2 é o id do nome

usando o post

agora você sabe quais pratos existem, vamos por mais no registro??

  • para inserir um novo prato, a rota é o mesmo link
http://localhost:3000/pratos_principais
  • dentro do insomnia, abaixo do json vamos colar esse novo prato principal:
{
"nome": "risoto tropical",
"ingredientes": "Salmão grelhado com risoto de limão siciliano."
}
  • você deve ter visto ao lado algo assim:
{
  "id": 2,
  "nome": "risotW tropical",
  "ingredientes": "Salmão grelhado com risoto de limão siciliano",
  "updatedat": "2021-11-29t06:54:26.630z",
  "createdat": "2021-11-29t06:54:26.630z"
}

opa! acho que errei o nome do prato

vamos atualizar!?

usando o put

  • vamos pegar o id do autor que queremos atualizar?
http://localhost:3000/pratos_principais/2
  • agora acredito que está certo:
{
"nome": "risoto tropical",
"ingredientes": "Salmão grelhado com risoto de limão siciliano"
}

Mas e se quiser deletar uns pratos que já saíram do restaurante?

usando o delete

não vamos deletar o risoto vamos precisar dele mais pra frente!

mesma etapa mas o metodo é delete.

  • rota para apagar o prato e clique no send
localhost:3000/pratos_principais/1 ou 2
  • cuidado, tenha certeza que você vai apagar o prato correto!

vamos ver quais nomes existem no registro??

vamos usar o metodo get e a rota é o link abaixo

localhost:3000/nome
  • deve ver algum resultado assim
[
  {
    "id": 1,
    "nome": "lasanha bolonhesa",
    "createdat": "2021-11-29t00:45:29.254z",
    "updatedat": "2021-11-29t00:45:29.254z"
  },
  {
    "id": 2,
    "nome": "risoto tropical",
    "createdat": "2021-11-29t00:45:42.407z",
    "updatedat": "2021-11-29t00:45:42.407z"
  },
  {
    "id": 3,
    "nome": "nhoque da mama",
    "createdat": "2021-11-29t00:45:49.266z",
    "updatedat": "2021-11-29t00:45:49.266z"
  },
]
  • grave os Ids dos nomes dos pratos, vamos precisar

Usando o post

  • Link para o post é o msm do anterior mas o metodo é post
localhost:3000/ingredientes
  • E vamos adicionar um ingrediente!
{
 "ingrediente": "Nhoque com molho branco ou vermelho."
}
  • Você deve ver algo do tipo
{
  "id": 4,
  "ingrediente": "Nhoque com molho branco ou vermelho.",
  "updatedat": "2021-11-29t07:36:27.141z",
  "createdat": "2021-11-29t07:36:27.141z"
}

E se for preciso atualizar algum campo? Para isso usaremos o método:

put

  • rota para atualizar
localhost:3000/ingredientes/4
  • Agora sim!
	{
		"ingredientes": "Calabresa, parmesão, gema de ovo e pimenta do reino."
	}

Usando o delete

eu não sou muito fã de risoto

então vamos deletar ele!

localhost:3000/pratos_principais/2
  • ok, o risoto foi deletado

Agora vamos ver os livros!!

Usando o get

  • rota para pegar um prato existente
localhost:3000/sobremesas/1
  • o resultado deve ser esse
    "id": 1,
    "nome": "lasanha bolonhesa",
    "ingredientes": "Ragu de carne, molho de tomate, parmesão e muçarela gratinada.",
    "porcao":"Para dividir"
    "preco":"R$60,00"
    "createdat": "2021-11-29t00:58:06.380z",
    "updatedat": "2021-11-29t00:58:06.380z"
  },
}

Bom! Agora que já sabemos quais os pratos que existem, eu quero saber, como que eu insiro mais livros?

usando o post

  • rota para inserir um novo prato
localhost:3000/pratos
  • prato a ser inserido: lembra que eu disse que usariamos o prato!? Lasanha é o id 1 para mim
{
   "id": 1,
   "nome": "lasanha bolonhesa",
   "ingredientes": "Ragu de carne, molho de tomate, parmesão e muçarela gratinada.",
   "porcao":"Para dividir"
   "preco":"R$60,00"
   "createdat": "2021-11-29t00:58:06.380z",
   "updatedat": "2021-11-29t00:58:06.380z"
}

Vamos atualizar o preço dele então

#usando o put

  • rota para atualizar o prato
localhost:3000/prato_principal
  • Prato com preço atualizado
{
   "id": 1,
   "nome": "lasanha bolonhesa",
   "ingredientes": "Ragu de carne, molho de tomate, parmesão e muçarela gratinada.",
   "porcao":"Para dividir"
   "preco":"R$65,00"
   "createdat": "2021-11-29t00:58:06.380z",
   "updatedat": "2021-11-29t00:58:06.380z"
}

pronto! Agora se quiser, vamos deletar!

usando o delete

  • rota que vamos usar para deletar o prato
localhost:3000/prato_principal/1

Com isso o prato foi deletado!

💻 Equipe de Desenvolvedores

💻 Matheus Germano - Linkedin

💻 Camila Rangel - Linkedin

💻 Israel Marques - Linkedin

💻 Gabriel Bastos - Linkedin

💻 Rafael Soares - Linkedin

You might also like...

Grupo de Trabalho para o projeto do Desafio Chefão do XP 41 do Curso de FullStck da Gama Academy

Bem Vindos a Tech Dental 👋 A Tech Dental é uma plataforma para gestão de prontuários de pacientes em clínicas odontológicas. Secretárias ou até mesmo

Jul 27, 2022

API Desenvolvida na linguagem Node de fim de módulo 4 Resilia

🚧 Escola - Projeto de módulo 4 - Resilia Projeto de educacional do curso de Web Dev Full Stack da Resilia Educação referente ao Fim do Módulo 04. Pro

Mar 23, 2022

Project of "Web Development" course for the Bachelor's degree in Computer Engineering, taken at the University of Pisa. Final evaluation: 30/30.

La battaglia della Meloria Welcome! This is the 🇬🇧 version of the README file. Click here for 🇮🇹 version. Introduction Historical reinterpretation

Oct 6, 2022

Frontend Web do trabalho de conclusão de curso para o Técnico em Informática, cursado no Colégio Técnico de Limeira

Indice Sobre Tecnologias Utilizadas Como baixar o projeto 📋 Sobre O projeto MyLocker é uma plataforma de locação de armários desenvolvido para o Colé

Jun 17, 2022

Repositorio oficial de la sección 1 y 2 del periodo 2022-2 del curso PUC IIC2513 Tecnologías y Aplicaciones Web

IIC2513 - Tecnologías y Aplicaciones Web 2022-2 S1 y S2 Bienvenida/o al repositorio de las secciones 1 y 2 del curso PUC IIC2513 Tecnologías y Aplicac

Dec 14, 2022

Meu repositório com os exercícios realizados durante o curso de Desenvolvimento Web na Trybe.

Desenvolvimento Web Fullstack na Trybe Esse repositório contém todas as atividades de aprendizagem desenvolvidas por mim enquanto estudante da Trybe ?

Oct 29, 2022

All five assignments and the final group project is done in class CSCI5410 (Serverless Data Processing) Fall 2021 of MACS at Dalhousie University.

Dalhousie University | Fall 2021 | CSCI5410 | SDP (Serverless Data Processing) All five assignments and the final group project is done in class CSCI5

Dec 26, 2021

Este repositorio contendrá el proyecto final de Angular con temática de Pokemon Unite

ProyectoFinal This project was generated with Angular CLI version 14.0.2. Development server Run ng serve for a dev server. Navigate to http://localho

Jun 19, 2022

College project done for the CG Artwork lecture in 2022. Used HTML for the indexes and mainly JavaScript (using to THREE.js). Ended with the final A grade (17.3 in scale grade).

CG Artwork Project 2022 This project was done by a group of 3 in 2022 with an educational purpose for the CG Artwork lecture in Instituto Superior Téc

Sep 19, 2022
Owner
Matheus Germano

Hello world!

Matheus Germano
Projeto final do módulo 5 da @resilia-br realizado em ReactJs.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Gabriela Costa 5 Oct 17, 2022
Projeto para fins didáticos de final de módulo 4 proposto por Resilia Educalção

Academia API_Academia Projeto para fins didáticos Resilia Educação - Projeto Final Módulo 4 Tem como objetivo criar uma API RESTful de uma academia, o

Suzanne Patrícia de Souza 5 Jun 1, 2022
Projeto de conclusão de módulo - Bootcamp Resilia Web FullStack

projeto_Modulo5_Imobiliaria_Frontend_ReactJS Projeto Final do módulo 5, Resilia Web Full Stack. ?? Descrição O objetivo deste projeto é aprender a est

Emanuel Melo 4 Jan 21, 2022
A AfirmaJobs é uma plataforma de divulgação de vagas voltadas para a diversidade e inclusão. A aplicação foi desenvolvida como projeto final do curso bootcamp da Reprograma

AFIRMAJOBS Este projeto é resultado do Bootcamp Back-End - Todas em Tech - { reprograma } Justificativa Grupos historicamente minorizados – população

Geankre Souza 7 Dec 13, 2022
Projeto desenvolvido para o curso de desenvolvimento fullstack da escola de programação Driven.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Caio Lemos 3 Nov 11, 2022
Projeto desenvolvido para o curso de desenvolvimento fullstack da escola de programação Driven.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Caio Lemos 4 Nov 11, 2022
Aplicación final del curso de Next de Fernando

Next.js Telo Shop Para correr localmente, se necesita la base de datos. docker-compose up -d El -d, significa detached Configurar las variables de en

Fernando 20 Dec 29, 2022
Primeiro projeto do Módulo 1 da Blue ed Tech - Web Fullstack

Projeto1-Modulo1-BlueFullstack Módulo 1 - Blue ed Tech - Web Fullstack Projeto 1 - A Jornada do Herói A premissa é a seguinte: O nosso herói chegou ao

Vinhas93 2 Mar 9, 2022
Jogo da Memória é um projeto proposto no curso do Programador Br.

Jogo da Memória ?? Repositório do projeto Jogo da Memória proposto no curso de Desenvolvimento Web Full Stack (Programdor Br). ?? Menu Clique para exp

Bruno Seghese 9 Sep 20, 2022
Projeto desenvolvido em Angular e Material, para conclusão do curso de extensão em Java

EmpresaFront This project was generated with Angular CLI version 13.0.4. Development server Run ng serve for a dev server. Navigate to http://localhos

Carolina Rodrigues 5 Mar 18, 2022