diff --git a/Dia 63 e 64 - Node - MiniCrud/minicrud/views/mostrar.ejs b/Dia 63 e 64 - Node - MiniCrud/minicrud/views/mostrar.ejs index 184fd6a..fd0925f 100644 --- a/Dia 63 e 64 - Node - MiniCrud/minicrud/views/mostrar.ejs +++ b/Dia 63 e 64 - Node - MiniCrud/minicrud/views/mostrar.ejs @@ -28,7 +28,7 @@ <%= details.nome %> - <%= details.cidade %> + <%= details.cargahoraria %> Editar - Apagar diff --git a/Dia 64 - Node - Projeto Escola/app.js b/Dia 64 - Node - Projeto Escola/app.js new file mode 100644 index 0000000..aa15a2d --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/app.js @@ -0,0 +1,33 @@ +const express = require("express") +const app = express() +const mongoose = require("mongoose") + +// Conexão a DB +const LINKDB = "mongodb+srv://admin:admin@cluster0.j5g4e.mongodb.net/escola2?retryWrites=true&w=majority" + +mongoose.connect(LINKDB, { useUnifiedTopology: true, useNewUrlParser: true }, (err, client) => { + if (err) return console.log(err); + + db = mongoose.connection; + console.log("BD Conectado"); +}); + + +// Middlewares +app.use(express.urlencoded({ extended: true })); +app.use(express.json()); + +// configura a view +app.set("view engine", "ejs"); + +// Importa as Routes +const Router = require('./routes/index'); +app.use('/', Router); + + +// Iniciamos o servidor +const PORTA = 3000; + +app.listen(PORTA, () => { + console.log("Servidor ativado na porta " + PORTA); +}); \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/conectarbd.js b/Dia 64 - Node - Projeto Escola/conectarbd.js new file mode 100644 index 0000000..fac0372 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/conectarbd.js @@ -0,0 +1,11 @@ +const mongoose = require("mongoose"); + +const LINKDB = "mongodb+srv://admin:admin@cluster0.j5g4e.mongodb.net/escola2?retryWrites=true&w=majority" + +async function conectarDB(){ + await mongoose.connect(LINKDB, { useNewUrlParser: true, useUnifiedTopology: true }); + console.log("DB conectada") + return client.db("escola2") +} + +module.exports = conectarDB() \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/controllers/alunoController.js b/Dia 64 - Node - Projeto Escola/controllers/alunoController.js new file mode 100644 index 0000000..e69de29 diff --git a/Dia 64 - Node - Projeto Escola/controllers/disciplinasController.js b/Dia 64 - Node - Projeto Escola/controllers/disciplinasController.js new file mode 100644 index 0000000..fbb732c --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/controllers/disciplinasController.js @@ -0,0 +1,45 @@ +const Disciplina = require("../models/disciplina"); +const async = require("async"); + +// Listar +exports.listar = (req, res) => { + Disciplina.find((err, resultado) => { + if (err) return console.log(err); + + res.render("disciplinas.ejs", { dados: resultado }); + }); +}; + +// Cadastrar +exports.cadastrar = (req, res) => { + res.render("disciplinasnova.ejs"); +}; + +exports.cadastrarPost = async (req, res) => { + try { + const disciplina = new Disciplina({ + nome: req.body.nome, + cargahoraria: req.body.cargahoraria, + }); + await disciplina.save(); + res.redirect("../disciplinas"); + } catch (err) { + res.send(err); + } +}; + +// Editar +exports.editar = (req, res) => { + res.render("disciplinaseditar.ejs"); +}; + +// Apagar +exports.apagar = async (req, res) => { + try { + const id = req.params.id; + await Disciplina.findByIdAndDelete(id); + res.redirect("/disciplinas"); + } catch (err) { + res.send(err); + } +}; diff --git a/Dia 64 - Node - Projeto Escola/controllers/professoresController.js b/Dia 64 - Node - Projeto Escola/controllers/professoresController.js new file mode 100644 index 0000000..e69de29 diff --git a/Dia 64 - Node - Projeto Escola/models/aluno.js b/Dia 64 - Node - Projeto Escola/models/aluno.js new file mode 100644 index 0000000..73759b3 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/models/aluno.js @@ -0,0 +1,36 @@ +let mongoose = require("mongoose"); + +let alunoSchema = new mongoose.Schema({ + matricula: { + type: String, + required: true, + maxLenght: 15, + }, + nome: { + type: String, + required: true, + maxLenght: 80, + }, + cpf: { + type: String, + required: true, + maxLenght: 14, + }, + rg: { + type: String, + required: true, + maxLenght: 25, + }, + endereco: { + type: String, + required: true, + maxLenght: 200, + }, + telefone: { + type: String, + required: true, + maxLenght: 20, + }, +}); + +module.exports = mongoose.model("aluno", alunoSchema) \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/models/disciplina.js b/Dia 64 - Node - Projeto Escola/models/disciplina.js new file mode 100644 index 0000000..bd4e3b3 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/models/disciplina.js @@ -0,0 +1,16 @@ +let mongoose = require("mongoose"); + +let disciplinaSchema = new mongoose.Schema({ + nome: { + type: String, + required: true, + maxLenght: 80, + }, + cargahoraria: { + type: String, + required: true, + maxLenght: 4, + }, +}); + +module.exports = mongoose.model("disciplina", disciplinaSchema) \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/models/professor.js b/Dia 64 - Node - Projeto Escola/models/professor.js new file mode 100644 index 0000000..2f3ed6a --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/models/professor.js @@ -0,0 +1,31 @@ +let mongoose = require("mongoose"); + +let professorSchema = new mongoose.Schema({ + nome: { + type: String, + required: true, + maxLenght: 80, + }, + cpf: { + type: String, + required: true, + maxLenght: 14, + }, + rg: { + type: String, + required: true, + maxLenght: 25, + }, + endereco: { + type: String, + required: true, + maxLenght: 200, + }, + telefone: { + type: String, + required: true, + maxLenght: 20, + }, +}); + +module.exports = mongoose.model("professor", professorSchema) \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/package-lock.json b/Dia 64 - Node - Projeto Escola/package-lock.json index a4ce2a5..0252eaf 100644 --- a/Dia 64 - Node - Projeto Escola/package-lock.json +++ b/Dia 64 - Node - Projeto Escola/package-lock.json @@ -9,9 +9,11 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "async": "^0.9.2", "ejs": "^3.1.6", "express": "^4.17.1", - "mongodb": "^3.6.6" + "mongodb": "^3.6.6", + "mongoose": "^5.12.7" }, "devDependencies": { "nodemon": "^2.0.7" @@ -38,6 +40,28 @@ "node": ">=6" } }, + "node_modules/@types/bson": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz", + "integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/mongodb": { + "version": "3.6.12", + "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.12.tgz", + "integrity": "sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog==", + "dependencies": { + "@types/bson": "*", + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", + "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -185,6 +209,11 @@ "safe-buffer": "^5.1.1" } }, + "node_modules/bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, "node_modules/body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -1078,6 +1107,11 @@ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, + "node_modules/kareem": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz", + "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" + }, "node_modules/keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -1253,6 +1287,95 @@ } } }, + "node_modules/mongoose": { + "version": "5.12.7", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.7.tgz", + "integrity": "sha512-BniNwACn7uflK2h+M3juvyLH5nn9JDFgnB5KE2EwWFwSrRyhSpPnCtanRKJW3OtMCJyPccMIjtGZxHNW7JfnIw==", + "dependencies": { + "@types/mongodb": "^3.5.27", + "bson": "^1.1.4", + "kareem": "2.3.2", + "mongodb": "3.6.6", + "mongoose-legacy-pluralize": "1.0.2", + "mpath": "0.8.3", + "mquery": "3.2.5", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "safe-buffer": "5.2.1", + "sift": "13.5.2", + "sliced": "1.0.1" + }, + "engines": { + "node": ">=4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose-legacy-pluralize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", + "peerDependencies": { + "mongoose": "*" + } + }, + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mongoose/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/mpath": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz", + "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", + "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", + "dependencies": { + "bluebird": "3.5.1", + "debug": "3.1.0", + "regexp-clone": "^1.0.0", + "safe-buffer": "5.1.2", + "sliced": "1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -1554,6 +1677,11 @@ "node": ">=8.10.0" } }, + "node_modules/regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, "node_modules/registry-auth-token": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", @@ -1686,12 +1814,22 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "node_modules/sift": { + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, "node_modules/signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, + "node_modules/sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -1991,6 +2129,28 @@ "defer-to-connect": "^1.0.1" } }, + "@types/bson": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.3.tgz", + "integrity": "sha512-mVRvYnTOZJz3ccpxhr3wgxVmSeiYinW+zlzQz3SXWaJmD1DuL05Jeq7nKw3SnbKmbleW5qrLG5vdyWe/A9sXhw==", + "requires": { + "@types/node": "*" + } + }, + "@types/mongodb": { + "version": "3.6.12", + "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.12.tgz", + "integrity": "sha512-49aEzQD5VdHPxyd5dRyQdqEveAg9LanwrH8RQipnMuulwzKmODXIZRp0umtxi1eBUfEusRkoy8AVOMr+kVuFog==", + "requires": { + "@types/bson": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.0.1.tgz", + "integrity": "sha512-TMkXt0Ck1y0KKsGr9gJtWGjttxlZnnvDtphxUOSd0bfaR6Q1jle+sPvrzNR1urqYTWMinoKvjKfXUGsumaO1PA==" + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -2110,6 +2270,11 @@ "safe-buffer": "^5.1.1" } }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, "body-parser": { "version": "1.19.0", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", @@ -2802,6 +2967,11 @@ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", "dev": true }, + "kareem": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz", + "integrity": "sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==" + }, "keyv": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", @@ -2915,6 +3085,70 @@ "saslprep": "^1.0.0" } }, + "mongoose": { + "version": "5.12.7", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.12.7.tgz", + "integrity": "sha512-BniNwACn7uflK2h+M3juvyLH5nn9JDFgnB5KE2EwWFwSrRyhSpPnCtanRKJW3OtMCJyPccMIjtGZxHNW7JfnIw==", + "requires": { + "@types/mongodb": "^3.5.27", + "bson": "^1.1.4", + "kareem": "2.3.2", + "mongodb": "3.6.6", + "mongoose-legacy-pluralize": "1.0.2", + "mpath": "0.8.3", + "mquery": "3.2.5", + "ms": "2.1.2", + "regexp-clone": "1.0.0", + "safe-buffer": "5.2.1", + "sift": "13.5.2", + "sliced": "1.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "mongoose-legacy-pluralize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz", + "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==", + "requires": {} + }, + "mpath": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.8.3.tgz", + "integrity": "sha512-eb9rRvhDltXVNL6Fxd2zM9D4vKBxjVVQNLNijlj7uoXUy19zNDsIif5zR+pWmPCWNKwAtqyo4JveQm4nfD5+eA==" + }, + "mquery": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz", + "integrity": "sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A==", + "requires": { + "bluebird": "3.5.1", + "debug": "3.1.0", + "regexp-clone": "^1.0.0", + "safe-buffer": "5.1.2", + "sliced": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3146,6 +3380,11 @@ "picomatch": "^2.2.1" } }, + "regexp-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz", + "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==" + }, "registry-auth-token": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", @@ -3258,12 +3497,22 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, + "sift": { + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz", + "integrity": "sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==" + }, "signal-exit": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, + "sliced": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", + "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" + }, "sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", diff --git a/Dia 64 - Node - Projeto Escola/package.json b/Dia 64 - Node - Projeto Escola/package.json index 75fa00b..0d16a38 100644 --- a/Dia 64 - Node - Projeto Escola/package.json +++ b/Dia 64 - Node - Projeto Escola/package.json @@ -2,17 +2,19 @@ "name": "proj-escola", "version": "1.0.0", "description": "Projeto para prática do node.js", - "main": "index.js", + "main": "app.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "devstart": "nodemon index.js" + "start": "node app.js", + "devstart": "nodemon app.js" }, "author": "Giovanni Marcon", "license": "MIT", "dependencies": { + "async": "^0.9.2", "ejs": "^3.1.6", "express": "^4.17.1", - "mongodb": "^3.6.6" + "mongodb": "^3.6.6", + "mongoose": "^5.12.7" }, "devDependencies": { "nodemon": "^2.0.7" diff --git a/Dia 64 - Node - Projeto Escola/views/disciplinas.ejs b/Dia 64 - Node - Projeto Escola/views/disciplinas.ejs new file mode 100644 index 0000000..8008968 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/disciplinas.ejs @@ -0,0 +1,35 @@ +<%- include('head'); -%> + +
+
+
+

Disciplinas

Cadastrar Nova +
+ + + + + + + + + + <% dados.forEach(function(dados) { %> + + + + + + <% }) %> + + + + + + + <%- include('foot'); -%> \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/views/disciplinaseditar.ejs b/Dia 64 - Node - Projeto Escola/views/disciplinaseditar.ejs new file mode 100644 index 0000000..d8d3ea3 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/disciplinaseditar.ejs @@ -0,0 +1,5 @@ +<%- include('head'); -%> + +

Editar Disciplina

+ + <%- include('foot'); -%> \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/views/disciplinasnova.ejs b/Dia 64 - Node - Projeto Escola/views/disciplinasnova.ejs new file mode 100644 index 0000000..0964b74 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/disciplinasnova.ejs @@ -0,0 +1,23 @@ +<%- include('head'); -%> +
+ +
+
+

Cadastrar Disciplina

Voltar
+ +
+
+ + +
+ +
+ + +
+ + + +
+
+ <%- include('foot'); -%> \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/views/foot.ejs b/Dia 64 - Node - Projeto Escola/views/foot.ejs new file mode 100644 index 0000000..9870926 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/foot.ejs @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/views/head.ejs b/Dia 64 - Node - Projeto Escola/views/head.ejs new file mode 100644 index 0000000..a9dba73 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/head.ejs @@ -0,0 +1,44 @@ + + + + + + + + + + + + + Controle Escola + + +
+ +
\ No newline at end of file diff --git a/Dia 64 - Node - Projeto Escola/views/index.ejs b/Dia 64 - Node - Projeto Escola/views/index.ejs new file mode 100644 index 0000000..9efa6c2 --- /dev/null +++ b/Dia 64 - Node - Projeto Escola/views/index.ejs @@ -0,0 +1,5 @@ +<%- include('head'); -%> + +

Index

+ + <%- include('foot'); -%> \ No newline at end of file diff --git a/React Dia 10 - Crud2/crud2-back/server.js b/React Dia 10 - Crud2/crud2-back/server.js index 5a3c2aa..535f6e4 100644 --- a/React Dia 10 - Crud2/crud2-back/server.js +++ b/React Dia 10 - Crud2/crud2-back/server.js @@ -50,7 +50,7 @@ app.post("/novojogo", async (req, res) => { const result = await jogo.save(); res.send("Cadastrado: " + result) } catch (err) { - res.send("Erro: " + ERR) + res.send("Erro: " + err) } });
DisciplinaCarga HoráriaOpções
+ <%= dados.nome %> + + <%= dados.cargahoraria %> + Editar Apagar