Commit inicial

This commit is contained in:
2023-05-29 10:45:02 -04:00
commit 6a0f089370
8 changed files with 2225 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
node_modules
+6
View File
@@ -0,0 +1,6 @@
# Projeto-Interdisciplinar
Projeto interdisciplinar entre as disciplinas
- Bando de dados 3 (BD3),
- Programação e Tecnologias aplicadas a clientes 3 (PTAC 3)
- Programação e Tecnologias aplicadas a Servidor 2 (PTAS 2)
+21
View File
@@ -0,0 +1,21 @@
const { Pool } = require('pg');
let connect = async function () {
try {
if (global.connection) {
return Promise.resolve(global.connection);
}
const pool = new Pool({
connectionString: ''
});
global.connection = pool;
return Promise.resolve(pool);
} catch (error) {
console.error('Erro ao estabelecer a conexão:', error);
throw error;
}
};
module.exports = { connect };
+27
View File
@@ -0,0 +1,27 @@
const express = require('express');
const path = require('path');
const Pessoa = require("./models/pessoa");
const app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use(express.json());
app.use(express.urlencoded({ extended: true}));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/pessoas', async function(req, res){
try {
var pessoas = await Pessoa.select();
res.json(pessoas.rows);
} catch (error) {
console.error('Erro ao buscar pessoas:', error);
res.status(500).json({ error: 'Ocorreu um erro ao buscar pessoas' });
}
});
app.listen(3000, function() {
console.log('App de Exemplo escutando na porta 3000!')
});
+51
View File
@@ -0,0 +1,51 @@
const db = require("../db");
class Pessoa {
static async select() {
try {
const connect = await db.connect();
const sql = ""
return await connect.query(sql);
} catch (error) {
console.error('Erro em select:', error);
throw error;
}
}
static async insert(data) {
try {
const connect = await db.connect();
const sql = "";
const values = [data.nome, data.idade, data.uf];
return await connect.query(sql, values);
} catch (error) {
console.error('Erro em insert:', error);
throw error;
}
}
static async update(id, data) {
try {
const connect = await db.connect();
const sql = "";
const values = [data.nome, data.idade, data.uf, id];
return await connect.query(sql, values);
} catch (error) {
console.error('Erro em update:', error);
throw error;
}
}
static async delete(id) {
try {
const connect = await db.connect();
const sql = "";
return await connect.query(sql, [id]);
} catch (error) {
console.error('Erro em delete:', error);
throw error;
}
}
}
module.exports = Pessoa;
+2082
View File
File diff suppressed because it is too large Load Diff
+18
View File
@@ -0,0 +1,18 @@
{
"name": "projeto-interdisciplinar",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "nodemon index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"ejs": "^3.1.9",
"express": "^4.18.2",
"nodemon": "^2.0.22",
"pg": "^8.11.0"
}
}
+19
View File
@@ -0,0 +1,19 @@
CREATE TABLE pessoas (
id SERIAL PRIMARY KEY,
nome VARCHAR(255),
idade INTEGER,
uf CHAR(2)
);
INSERT INTO pessoas (nome, idade, uf)
VALUES
('John Doe', 25, 'NY'),
('Jane Smith', 30, 'CA'),
('Michael Johnson', 35, 'TX'),
('Emily Davis', 28, 'FL'),
('Robert Brown', 32, 'OH'),
('Sophia Wilson', 27, 'IL'),
('William Anderson', 40, 'PA'),
('Olivia Thompson', 22, 'GA'),
('James Martinez', 33, 'MI'),
('Emma Taylor', 29, 'NC');