const express = require("express"); const path = require("path"); const app = express(); const port = 8000; const courses = require("./database/courses.json"); app.use("/static", express.static(path.join(__dirname, "./public"))); app.use(express.json()); app.get("/", (req, res) => { res.set('Content-Type', 'text/html'); res.sendFile(path.join(__dirname, "./app/index.html")); return res.status(200); }); /*** API STUFF ***/ app.get("/course/:id", (req, res) => { res.set('Content-Type', 'text/html'); res.sendFile(path.join(__dirname, "./app/course.html")); return res.status(200); }); app.get("/api/course/:id", (req, res) => { res.set('Content-Type', 'text/json'); for (let i = 0; i < courses.length; i++) { if (courses[i].id === req.params.id) { res.send(courses[i]); return res.status(200); } } res.send({ "success": false, "message": `course not found.` }); return res.status(404); }); app.get("/api/courses", (req, res) => { res.set('Content-Type', 'text/html'); let table = `
`; for (let i = 0; i < courses.length; i++) { let course = ` `; table = table + course; } table = table + `
Crs. Name Crs. Number Crs. Credits
${courses[i].name} ${courses[i].department} ${courses[i].id} ${courses[i].credits}
`; res.send(table); return res.status(200); }); /*** 404 page ***/ app.get("*", (req, res) => { res.set('Content-Type', 'text/html'); res.sendFile(path.join(__dirname, "./app/404.html")); return res.status(404); }); app.listen(port, () => { console.log(`Server listening on port ${port}`); });