Skip to content

Commit e48d701

Browse files
committed
initial commit
0 parents  commit e48d701

File tree

11 files changed

+4332
-0
lines changed

11 files changed

+4332
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/node_modules
2+
.prettierignore

app.js

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const { ObjectID } = require("bson");
2+
const express = require("express");
3+
const expressLayouts = require("express-ejs-layouts");
4+
const methodOverride = require("method-override");
5+
require("./database/database");
6+
const Todo = require("./model/todos");
7+
8+
const app = express();
9+
const port = 8080;
10+
11+
// Set ejs
12+
app.set("view engine", "ejs");
13+
app.use(express.static("public"));
14+
app.use(expressLayouts);
15+
16+
// Middleware
17+
app.use(methodOverride("_method"));
18+
app.use(express.urlencoded({ extended: true }));
19+
20+
// Halaman Home & Menampilkan todo
21+
app.get("/", async function (req, res) {
22+
const todos = await Todo.find({});
23+
res.render("index", {
24+
title: "Node JS Todo App",
25+
layout: "layouts/mainLayout",
26+
todos,
27+
});
28+
});
29+
30+
// Menambahkan todo
31+
app.post("/", function (req, res) {
32+
Todo.insertMany(req.body, function (err, result) {
33+
res.redirect("/");
34+
});
35+
});
36+
37+
// Menghapus todo
38+
app.delete("/", function (req, res) {
39+
Todo.deleteOne({ _id: ObjectID(req.body._id) }, function (err, result) {
40+
res.redirect("/");
41+
});
42+
});
43+
44+
app.listen(port, function () {
45+
console.log(`Server is listening on http://localhost:${port}`);
46+
});

database/database.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const mongoose = require("mongoose");
2+
mongoose.connect("mongodb://localhost:27017/belajar-mongodb", {
3+
useNewUrlParser: true,
4+
useUnifiedTopology: true,
5+
});

model/todos.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const mongoose = require("mongoose");
2+
3+
const Todo = mongoose.model("Todo", {
4+
kegiatan: {
5+
type: String,
6+
required: true,
7+
},
8+
});
9+
10+
module.exports = Todo;

0 commit comments

Comments
 (0)