Repository: wwpedro/EasyTravelParis Branch: main Commit: 782ba088326f Files: 9 Total size: 7.7 KB Directory structure: gitextract_5s7w79zd/ ├── ApiNodejs/ │ ├── comentarios.txt │ ├── package.json │ ├── src/ │ │ ├── controllers/ │ │ │ └── praiaConntroller.js │ │ ├── db.js │ │ ├── routers.js │ │ ├── server.js │ │ └── services/ │ │ └── praiaService.js │ └── variaveis.env └── README.md ================================================ FILE CONTENTS ================================================ ================================================ FILE: ApiNodejs/comentarios.txt ================================================ material de apio para construção da api: youtube.com/watch?v=xGk_R8Q1epU&list=PL1hl9qLyFtfDXY9NO8F3TnjxezKJ_1HlI a api controla a tabela praia dentro do banco easy travel com CRUD para rodar a api: 1-precisa do mysql installado e tabelas criadas ( comando para mysql workbench- create database dbapitravel; use dbapitravel; create table praias( id_praia int primary key auto increment, nome_praia varcar(30) not null, endereco_praia varcar(100) not null ) insert into praias (nome_praia, enderco_praia) values ("praia da aleria", "Av. Alegria 75-139 - Alegria Guaíba - RS 92500-000"); select * from praias; ) 2-rodando api ( comando start : nodemon start, vai no site (https://resttesttest.com/) que funciona como um postman coloca o metodo de cada rota criada que está no arquivo routes.js e testa http://localhost:3000/api/praias(ou outras rotas) ) ================================================ FILE: ApiNodejs/package.json ================================================ { "name": "apinodejs", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon ./src/server.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.20.0", "cors": "^2.8.5", "dotenv": "^16.0.1", "express": "^4.18.1", "mysql": "^2.18.1", "nodemon": "^2.0.19" } } ================================================ FILE: ApiNodejs/src/controllers/praiaConntroller.js ================================================ const praiaService = require("../services/praiaService"); module.exports ={ buscarTodas: async(req, res)=>{ let json = {error:"", result:[]}; let praias = await praiaService.buscarTodos(); for(let i in praias){ json.result.push({ id_praia: praias[i].nome_praia, descricao: praias[i].endereco_praia }) } res.json(json); }, buscarUma: async(req, res)=>{ let json = {error:"", result:{}} let id_praia = req.params.id_praia; let praia = await praiaService.buscarUm(id_praia); if(praia){ json.result=praia; } res.json(json) }, inserir: async (req, res) =>{ let json = {error:"", result:{}} let nome_praia = req.body.nome_praia; let endereco_praia = req.body.endereco_praia; if(nome_praia && endereco_praia){ let id_praia = await praiaService.inserir(nome_praia,endereco_praia); json.result={ id_praia: id_praia, nome_praia, endereco_praia } }else{ json.error = "Campo não enviado" } res.json(json) }, alterar: async(req, res)=>{ let json = {error:"", result:{}} let id_praia = req.params.id_praia; let nome_praia = req.body.nome_praia; let endereco_praia = req.body.endereco_praia; if(nome_praia && endereco_praia && id_praia){ await carroService.alterar(nome_praia , endereco_praia , id_praia) json.result={ id_praia, nome_praia, endereco_praia } }else{ json.error = "Campo não enviado" } res.json(json) }, deletar: async(req, res)=>{ let json = {error:"", result:{}} let id_praia = req.params.id_praia; await praiaService.deletar(id_praia); res.json(json); } } ================================================ FILE: ApiNodejs/src/db.js ================================================ const mysql = require("mysql") const connection = mysql.createConnection({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASS, database: process.env.DB_NAME }) connection.connect((error)=>{ if(error) throw error; }) module.exports = connection ================================================ FILE: ApiNodejs/src/routers.js ================================================ const esxpress = require("express"); const router = esxpress.Router(); const praiaController = require('./controllers/praiaConntroller') router.get('/praias', praiaController.buscarTodas) router.get('/praia/:id_praia', praiaController.buscarUma) router.post('/praia', praiaController.inserir) router.put('/praia/:id_praia', praiaController.alterar) router.delete('/praia/:id_praia', praiaController.deletar); module.exports = router; ================================================ FILE: ApiNodejs/src/server.js ================================================ require("dotenv").config({path:'variaveis.env'}); const express = require('express'); const cors = require('cors'); const bodyParser = require("body-parser"); const routers = require('./routers'); const server = express(); server.use(cors()); server.use(bodyParser.urlencoded({extended:false})); server.use('/api', routers); server.listen(process.env.PORT,()=>{console.log(`http://localhost:${process.env.PORT}`)}); ================================================ FILE: ApiNodejs/src/services/praiaService.js ================================================ const db = require("../db") module.exports={ buscarTodos: ()=>{ return new Promise((aceito, rejeitado)=>{ db.query('select * from praias', (error, results)=>{ if(error){rejeitado(error); return;} aceito(results); }) }) }, buscarUm: (id_praia)=>{ return new Promise((aceito, rejeitado)=>{ db.query('select * from praias where id_praia=?',[id_praia], (error,results)=>{ if(error){rejeitado(error); return;} if(results.length > 0){ aceito(results[0]) }else{ aceito(false) } }) }) }, inserir: (nome_praia , endereco_praia) =>{ return new Promise((aceito, rejeitado)=>{ db.query('insert into praias(nome_praia,endereco_praia) values(?,?)',[nome_praia,endereco_praia],(error,results)=>{ if(error){rejeitado(error); return;} aceito(results.insertId); }) }) }, alterar: (nome_praia , endereco_praia , id_praia) => { return new Promise((aceito , rejeitado)=>{ db.query('update praias set nome_praia=?, endereco_praia=? where id_praia=?',[nome_praia , endereco_praia , id_praia],(error,results)=>{ if(error){rejeitado(error); return;} aceito(results) }) }) }, deletar:(id_praia)=>{ return new Promise((aceito,rejeitado)=>{ db.query('delete from praias where id_praia=?',[id_praia],(error,results)=>{ if(error){rejeitado(error); return;} aceito(results) }) }) } } ================================================ FILE: ApiNodejs/variaveis.env ================================================ PORT=3000 DB_HOST=localhost DB_USER=root DB_PASS= minhasenha DB_NAME=dbapitravel ================================================ FILE: README.md ================================================ # EasyTravelParis Easy Travel Paris é um produto por um equipe do IFAL-RL que irá potencializar o mercado de turismo. O produto é um aplicativo mobile onde o turista irá desfrutar da cidade de Paripueira em seu smartphone, a aplicação irá conter 2 tecnologias; realidade virtual e realidade aumentada, onde o usuário poderá conhecer as praias, estabelecimentos e todos os pontos turísticos. material de apio para construção da api: youtube.com/watch?v=xGk_R8Q1epU&list=PL1hl9qLyFtfDXY9NO8F3TnjxezKJ_1HlI a api controla a tabela praia dentro do banco easy travel com CRUD em variavis coloque a senha sua senha do usuario root do banco para rodar a api: 1-precisa do mysql installado e tabelas criadas ( comando para mysql workbench- create database dbapitravel; use dbapitravel; create table praias( id_praia int primary key auto increment, nome_praia varcar(30) not null, endereco_praia varcar(100) not null ) insert into praias (nome_praia, enderco_praia) values ("praia da aleria", "Av. Alegria 75-139 - Alegria Guaíba - RS 92500-000"); select * from praias; ) 2-rodando api ( comando start : nodemon start, vai no site (https://resttesttest.com/) que funciona como um postman coloca o metodo de cada rota criada que está no arquivo routes.js e testa http://localhost:3000/api/praias(ou outras rotas) )