diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..3ca077e --- /dev/null +++ b/src/index.js @@ -0,0 +1,55 @@ +//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); +}); \ No newline at end of file