diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2cf53da --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM node + +WORKDIR /app + +COPY . /app + +RUN npm install + +EXPOSE 80 + +CMD ["node", "server.js"] \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..29be2f7 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "docker-complete", + "version": "1.0.0", + "description": "", + "main": "server.js", + "author": "Maximilian Schwarzmüller / Academind GmbH", + "license": "MIT", + "dependencies": { + "express": "^4.17.1", + "body-parser": "1.19.0" + } +} diff --git a/public/styles.css b/public/styles.css new file mode 100644 index 0000000..caf4490 --- /dev/null +++ b/public/styles.css @@ -0,0 +1,48 @@ +html { + font-family: sans-serif; +} + +body { + margin: 0; +} + +section, +form { + padding: 1rem; + border-radius: 12px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26); + margin: 2rem auto; + max-width: 40rem; +} + +.form-control { + margin: 0.5rem 0; +} + +input { + font: inherit; +} + +input, +label { + display: block; +} + +label { + font-weight: bold; + margin-bottom: 0.5rem; +} + +button { + background-color: #2f005a; + border: 1px solid #2f005a; + color: white; + cursor: pointer; + padding: 0.5rem 1.5rem; +} + +button:hover, +button:active { + background-color: #50005a; + border-color: #50005a; +} diff --git a/server.js b/server.js new file mode 100644 index 0000000..58c0695 --- /dev/null +++ b/server.js @@ -0,0 +1,46 @@ +const express = require('express'); +const bodyParser = require('body-parser'); + +const app = express(); + +let userGoal = 'Learn Docker!'; + +app.use( + bodyParser.urlencoded({ + extended: false, + }) +); + +app.use(express.static('public')); + +app.get('/', (req, res) => { + res.send(` + + + + + +
+

My Course Goal

+

${userGoal}

+
+
+
+ + +
+ +
+ + + `); +}); + +app.post('/store-goal', (req, res) => { + const enteredGoal = req.body.goal; + console.log(enteredGoal); + userGoal = enteredGoal; + res.redirect('/'); +}); + +app.listen(80);