diff --git a/.gitignore b/.gitignore index b6b402ed9..21c218cae 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,6 @@ npm-debug.log package-lock.json yarn-error.log *.bkp +.env week3/prep-exercise/server-demo/ diff --git a/assignments/hackyourtemperature/package.json b/assignments/hackyourtemperature/package.json new file mode 100644 index 000000000..2eff8a5ab --- /dev/null +++ b/assignments/hackyourtemperature/package.json @@ -0,0 +1,19 @@ +{ + "name": "hackyourtemperature", + "version": "1.0.0", + "main": "server.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "nodemon --env-file=../../.env server.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "type":"module", + "dependencies": { + "express": "^5.1.0", + "express-handlebars": "^8.0.3", + "node-fetch": "^3.3.2" + } +} diff --git a/assignments/hackyourtemperature/server.js b/assignments/hackyourtemperature/server.js new file mode 100644 index 000000000..5c115ddb8 --- /dev/null +++ b/assignments/hackyourtemperature/server.js @@ -0,0 +1,32 @@ +import express from "express"; +const PORT = process.env.PORT; +const app = express(); +app.use(express.json()); + +app.get("/", (req, res) => { + res.send("hello from backend to frontend!"); +}); + +app.post("/weather", (req, res) => { + const cityName = req.body.cityName; + if (!cityName) { + return res.status(400).send("City name is required"); + } + + res.send(`You entered: ${cityName}`); +}); + +app.use((err, req, res, next) => { + if (err) { + return res + .status(400) + .send( + "An error occurred while processing the data. Please check the entered data and try again" + ); + } + next(); +}); + +app.listen(PORT, () => + console.log(`Server is running on http://localhost:${PORT}`) +); diff --git a/package.json b/package.json new file mode 100644 index 000000000..5302e360a --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "devDependencies": { + "nodemon": "^3.1.10" + } +} diff --git a/week1/prep-exercises/1-web-server/index.html b/week1/prep-exercises/1-web-server/index.html index c64f7dcfa..1250f8e2d 100644 --- a/week1/prep-exercises/1-web-server/index.html +++ b/week1/prep-exercises/1-web-server/index.html @@ -1,5 +1,6 @@
+