A aplicação é um ambiente back-end que utilizamos para simular uma rotina de um restaurante. Para isso foi utilizado o banco de dados relacional SQLite, o padrão do tipo REST e como organização conceitos iniciais de Repository, porém com noções de MVC.
Utilizamos as seguintes ferramentas em nossa API:
- Linguagem: Javascript com NodeJS
- Framework: Express
- Banco de dados relacional: SQLite
- ORM: Sequelize
- Deploy: Heroku
"dependencies": {
"express": "^4.18.1",
"path": "^0.12.7",
"sequelize": "^6.19.0",
"sqlite3": "^5.0.5",
"url": "^0.11.0"
}
Você também pode encontrar as dependências 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", e assim irá fazer o clone deste repositório e instalar as dependencias necessárias.
git clone https://github.com/ytallobruno/ProjetoFinalModulo4.git && cd apiRestNodeJsRestaurante && npm install
Para inicio da aplicação basta abrir o terminal na pasta do projeto ou executar o código abaixo.
npm start
A versão NodeJs utilizada para desenvolvimento é a 16.x LTS. É necessário a instalação de versão igual ou superior para a perfeita execução.
Em nossa API temos 5 (cinco) rotas, sendo elas "/clientes", "/cardapio", "/estoque", "/pedido" e "/fornecedores"
, onde podemos fazer alguns métodos interessantes. Vamos conferir abaixo utilizando a rota CLIENTES:
Utilizar o método HTTP Get no caminho "url da api" + /api/clientes
Utilizar o método HTTP Get no caminho "url da api" + /api/clientes/id
Utilizar o método HTTP Post no caminho "url da api" + /api/clientes
com todos os dados necessários para o seu banco de dados. Abaixo segue um json de exemplo para o corpo da requisição:
{
"id_comanda": 1,
"id_cliente": 1,
"nome_cliente": "Ytallo",
"email_cliente": "ytallo@bruno.com",
}
Utilizar o método HTTP Patch no caminho "url da api" + /api/clientes/id
, utilizando o ID da Comanda como referência, passando os valores que deseja alterar especificando seus devidos campos mas sempre respeitando a sintaxe json novamente passada abaixo no body da requisição.
{
"id_comanda": 1,
"id_cliente": 1,
"nome_cliente": "Ytallo Bruno",
"email_cliente": "ytallo_bruno@dominio.com",
}
Utilizar o método HTTP Delete no caminho "url da api" + /api/clientes/id
.
Obs.: Caso você apague o arquivo do banco de dados sem querer por algum motivo desconhecido, preencha o arquivo
criarTabela
de acordo com a entidade escolhida utilizando o comando no formato abaixo para criar outro, mas atenção, esse novo banco virar vazio, apenas com a linha 1 contendo o exemplo dos tipos de dados aceitos nele.import ClientesTable from "../Clientes/CriarCliente.js"; ClientesTable .sync() .then( () => { console.log('tabela criada com sucesso') }) .catch(console.error)E logo em seguida, rode o comando abaixo para criar a tabela no banco de dados:
node ./src/config/criarTabela.js
Para contribuir com nosso projeto, siga estas etapas:
- Bifurque este repositório.
- Crie um branch:
git checkout -b <nome_branch>
.- Faça suas alterações e confirme-as:
git commit -m '<mensagem_commit>'
- Envie para o branch original:
git push origin <nome_do_projeto> / <local>
- Crie a solicitação de pull. Consulte a documentação do GitHub em como criar uma solicitação pull.