55 lines
1.6 KiB
JavaScript
55 lines
1.6 KiB
JavaScript
//dependencies required for the app
|
|
var express = require("express");
|
|
var bodyParser = require("body-parser");
|
|
var app = express();
|
|
const port = process.env.PORT || 3000;
|
|
|
|
|
|
app.use(bodyParser.urlencoded({ extended: true }));
|
|
app.set("view engine", "ejs");
|
|
//render css files
|
|
app.use(express.static("public"));
|
|
|
|
|
|
//placeholders for added task
|
|
var task = ["buy a new udemy course", "practise with kubernetes"];
|
|
//placeholders for removed task
|
|
var complete = ["finish reading the book"];
|
|
|
|
|
|
//post route for adding new task
|
|
app.post("/addtask", function (req, res) {
|
|
var newTask = req.body.newtask;
|
|
//add the new task from the post route
|
|
task.push(newTask);
|
|
res.redirect("/");
|
|
});
|
|
|
|
|
|
app.post("/removetask", function (req, res) {
|
|
var completeTask = req.body.check;
|
|
//check for the "typeof" the different completed task, then add into the complete task
|
|
if (typeof completeTask === "string") {
|
|
complete.push(completeTask);
|
|
//check if the completed task already exits in the task when checked, then remove it
|
|
task.splice(task.indexOf(completeTask), 1);
|
|
} else if (typeof completeTask === "object") {
|
|
for (var i = 0; i < completeTask.length; i++) {
|
|
complete.push(completeTask[i]);
|
|
task.splice(task.indexOf(completeTask[i]), 1);
|
|
}
|
|
}
|
|
res.redirect("/");
|
|
});
|
|
|
|
|
|
//render the ejs and display added task, completed task
|
|
app.get("/", function (req, res) {
|
|
res.render("index", { task: task, complete: complete });
|
|
});
|
|
|
|
|
|
//set app to listen on port 3000
|
|
app.listen(3000, function () {
|
|
console.log("server is running on port http://localhost:" + port);
|
|
}); |