diff --git a/backend/Dockerfile.prod b/backend/Dockerfile.prod index 3eba885..1bd4a72 100644 --- a/backend/Dockerfile.prod +++ b/backend/Dockerfile.prod @@ -1,12 +1,13 @@ FROM python -WORKDIR /opt/demo/ +WORKDIR /app + +RUN apt-get -y update && apt-get -y upgrade COPY requirements.txt . -RUN apt-get -y update && apt-get -y upgrade RUN pip install -r requirements.txt COPY /src . -CMD [ "python", "main.py" ] +CMD [ "python", "app.py" ] diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index b67cb2c..22f54f4 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -8,3 +8,15 @@ services: dockerfile: Dockerfile.prod ports: - 8877:80 + backend-prod: + container_name: backend_bt + build: + context: ./backend + dockerfile: Dockerfile.prod + ports: + - 5000:5000 + environment: + DEBUG: "no" + PORT: 5000 + HOST: "0.0.0.0" + diff --git a/frontend/src/App.js b/frontend/src/App.js index 97c642d..0cfe98a 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -10,6 +10,7 @@ import Login from "./components/pages/Login"; import Register from "./components/pages/Register"; import Manual from "./components/pages/Manual"; import Secret from "./components/pages/Secret"; +import Umfrage from "./components/pages/Umfrage"; import PrivateRoute from "./auth/PrivateRoute"; function App() { @@ -27,6 +28,7 @@ function App() { + diff --git a/frontend/src/components/Input.css b/frontend/src/components/Input.css index 4da45d1..4810ff9 100644 --- a/frontend/src/components/Input.css +++ b/frontend/src/components/Input.css @@ -1,12 +1,15 @@ .input-field { width: auto; + margin-bottom: 2em; + font-size: 1.5em; } .input-field p { font-size: 1.5em; } -.input-field input { +.input-field input, +.input-field select { width: 100%; border-color: var(--primary); background-color: var(--secondary); @@ -27,3 +30,7 @@ .input-field input[type="submit"]:hover { background-color: var(--primary-contr); } + +.input-field label { + font-size: 1.5em; +} \ No newline at end of file diff --git a/frontend/src/components/pages/Umfrage.js b/frontend/src/components/pages/Umfrage.js new file mode 100644 index 0000000..439eb01 --- /dev/null +++ b/frontend/src/components/pages/Umfrage.js @@ -0,0 +1,152 @@ +import React from "react"; +import { useState } from "react/cjs/react.development"; +import "../../App.css"; +import "../Input.css"; +import Footer from "../../Footer"; +import InputField from "../InputField"; +import SubmitField from "../SubmitField"; + +export default function Umfrage() { + const [age, setAge] = useState(""); + const [gender, setGender] = useState(""); + const [education, setEducation] = useState(""); + const [skills, setSkills] = useState(""); + + const onSubmitClick = (e) => { + e.preventDefault(); + let opts = { + age: age, + gender: gender, + education: education, + skills: skills, + }; + console.log(opts); + /*fetch("/api/login", { + method: "post", + body: JSON.stringify(opts), + }) + .then((r) => r.json()) + .then((token) => { + if (token.access_token) { + login(token); + } else { + console.log("Please type in the correct username / password"); + } + }); + */ + }; + + const handleAgeChange = (e) => { + setAge(e.target.value); + }; + + const handleGenderChange = (e) => { + setGender(e.target.value); + }; + + const handleEducationChange = (e) => { + setEducation(e.target.value); + }; + + const handleSkillsChange = (e) => { + setSkills(e.target.value); + }; + + return ( + <> +
+

Umfrage

+

+ Damit ich etwas über die Studienteilnehmenden erfahre, möchte ich hier + eine kurze Erhebung einiger wichtiger Daten machen. Die Daten werden + natürlich nicht genauer verfolgt und die Auswertung der biometrischen + Verhaltensmerkmale geschieht unabhängig davon. Konkret bedeutet das, + dass ich deine Angaben nicht mit den Informationen aus den + Verhaltensmerkmalen zusammenfliessen lasse. +

+

+ Die Umfrage dauert nur ca. 2 Minuten und nach der ersten Befragung + musst du diese auch nicht mehr ausfüllen, da ich dann eine ungefähre + Auswertung machen kann, wie sich die Studienteilnehmenden aufteilen. + So kann es für mich beispielsweise relevant sein, wenn sämtliche + Teilnehmenden ein sehr gutes Informatikverständnis haben. +

+
+ +
+
+ +
+
+ +
+ +
+
+ +
+ +
+ + +
+