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
+
+
+
+
+ Disciplina |
+ Carga Horária |
+ Opções |
+
+
+
+ <% dados.forEach(function(dados) { %>
+
+
+ <%= dados.nome %>
+ |
+
+ <%= dados.cargahoraria %>
+ |
+ Editar Apagar |
+
+ <% }) %>
+
+
+
+
+
+
+ <%- 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 @@
+