diff --git a/assignments/hackyourtemperature/package.json b/assignments/hackyourtemperature/package.json new file mode 100644 index 000000000..adc9878b8 --- /dev/null +++ b/assignments/hackyourtemperature/package.json @@ -0,0 +1,21 @@ +{ + "name": "hackyourtemperature", + "version": "1.0.0", + "type": "module", + "main": "server.js", + "scripts": { + "start": "node server.js", + "dev": "nodemon --ext js,json --watch . server.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "express": "^5.1.0", + "express-handlebars": "^8.0.3", + "node-fetch": "^3.3.2" + }, + "devDependencies": { + "nodemon": "^3.1.10" + } +} diff --git a/assignments/hackyourtemperature/server.js b/assignments/hackyourtemperature/server.js new file mode 100644 index 000000000..a7c72c980 --- /dev/null +++ b/assignments/hackyourtemperature/server.js @@ -0,0 +1,24 @@ +import express from "express"; + +const app = express(); +const PORT = 3000; + +app.use(express.json()); + +app.get("/", (req, res) => { + res.type("text/plain").send("hello from backend to frontend!"); +}); + +app.post("/weather", (req, res) => { + const { cityName } = req.body ?? {}; + if (!cityName || typeof cityName !== "string") { + return res.status(400).json({ + error: 'Send JSON like { "cityName": "Amsterdam" }', + }); + } + res.json({ received: cityName }); +}); + +app.listen(PORT, () => { + console.log(`Server listening on http://localhost:${PORT}`); +});