Compare commits

...

11 commits

Author SHA1 Message Date
3b83ebf3fb Merge pull request 'survey-end' (#211) from survey-end into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #211
2021-07-30 09:04:42 +00:00
a626e32cbe Remove apiurl so that no longer the data will get logged
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-07-30 11:01:19 +02:00
4c01e68264 Make a box that the study is finished 2021-07-30 11:00:02 +02:00
7026909c61 Merge pull request 'Remove logging of password and update privacy(fix #203)' (#210) from frontend/remove-log into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #210
2021-07-25 21:36:41 +00:00
d01a70f925 Updated licenses and privacy
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-07-25 23:36:05 +02:00
41143c361b Remove logging of password
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-07-25 23:27:49 +02:00
3f6b622088 Merge pull request 'backend/update-requirements' (#209) from backend/update-requirements into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #209
2021-07-24 22:19:50 +00:00
d5c6aad834 Updated dockerfile
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-07-25 00:19:26 +02:00
fe5b563139 Updated python requirements
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-25 00:15:05 +02:00
ae82024e94 Merge pull request 'infra/bumpversion' (#208) from infra/bumpversion into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #208
2021-07-24 22:07:26 +00:00
c5b595ad40 Updated some things for infrastructure
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2021-07-25 00:05:11 +02:00
10 changed files with 63 additions and 5 deletions

View file

@ -4,6 +4,9 @@ WORKDIR /app
COPY requirements.txt . COPY requirements.txt .
RUN apt-get -y update
RUN apt-get -y install sqlite3
RUN pip install -r requirements.txt RUN pip install -r requirements.txt
COPY /src . COPY /src .

View file

@ -6,6 +6,8 @@ RUN apt-get -y update && apt-get -y upgrade
COPY requirements.txt . COPY requirements.txt .
RUN apt-get -y install sqlite3
RUN pip install -r requirements.txt RUN pip install -r requirements.txt
COPY /src . COPY /src .

View file

@ -1,3 +1,4 @@
autopep8==1.5.7
blinker==1.4 blinker==1.4
click==7.1.2 click==7.1.2
Deprecated==1.2.12 Deprecated==1.2.12
@ -16,11 +17,13 @@ MarkupSafe==1.1.1
passlib==1.7.4 passlib==1.7.4
pendulum==2.1.2 pendulum==2.1.2
py-buzz==1.0.3 py-buzz==1.0.3
pycodestyle==2.7.0
PyJWT==2.1.0 PyJWT==2.1.0
python-dateutil==2.8.1 python-dateutil==2.8.1
python-dotenv==0.17.1 python-dotenv==0.17.1
pytzdata==2020.1 pytzdata==2020.1
six==1.16.0 six==1.16.0
SQLAlchemy==1.4.15 SQLAlchemy==1.4.15
toml==0.10.2
Werkzeug==1.0.1 Werkzeug==1.0.1
wrapt==1.12.1 wrapt==1.12.1

View file

@ -97,3 +97,13 @@ h1 {
font-weight: bold; font-weight: bold;
user-select: none; user-select: none;
} }
.study-finished {
background-color: var(--primary);
padding: 0.5em;
}
.study-finished > p {
color: var(--error);
font-size: 2em;
}

View file

@ -3,6 +3,7 @@ import "../App.css";
import { Button } from "./Button"; import { Button } from "./Button";
import "./HeroSection.css"; import "./HeroSection.css";
import { useAuth } from "../auth/AuthProvider"; import { useAuth } from "../auth/AuthProvider";
import StudyFinished from "./StudyFinished";
export default function HeroSection() { export default function HeroSection() {
const [isLoggedIn] = useAuth(); const [isLoggedIn] = useAuth();
@ -10,6 +11,7 @@ export default function HeroSection() {
return ( return (
<div className="hero-container"> <div className="hero-container">
<h1>Herzlich Willkommen</h1> <h1>Herzlich Willkommen</h1>
<StudyFinished />
<div className="hero-btns"> <div className="hero-btns">
{isLoggedIn ? ( {isLoggedIn ? (
<Button <Button

View file

@ -0,0 +1,11 @@
import React from "react";
import "../App.css"
export default function StudyFinished() {
return (
<div className="study-finished">
<p>Die Studie wurde beendet.</p>
<p>Vielen Dank für die Teilnahme an der Studie</p>
</div>
);
}

View file

@ -73,7 +73,7 @@ export default function Lizenzen() {
</a> </a>
</li> </li>
<li> <li>
Behametrics Serverimplementierung (MIT-Lizenz) Behametrics Serverimplementierung (MIT-Lizenz):{" "}
<a href="https://gitlab.com/behametrics/server"> <a href="https://gitlab.com/behametrics/server">
https://gitlab.com/behametrics/server https://gitlab.com/behametrics/server
</a> </a>

View file

@ -71,6 +71,25 @@ export default function Privacy() {
Allerdings kann der Benutzername, welchen Sie bei der Anmeldung Allerdings kann der Benutzername, welchen Sie bei der Anmeldung
angegeben haben, verwendet werden. angegeben haben, verwendet werden.
</p> </p>
<h2>Weitergabe der Daten</h2>
<p>
Grundsätzlich werden die Daten nicht an Dritte weitergegeben. Folgende
Ausnahmen gibt es:
</p>
<ul>
<li>
Der Fernfachhochschule Schweiz werden die Daten falls notwendig
weitergegeben.
</li>
<li>
Sofern es eine gesetzliche Grundlage gibt, werden die Daten auch
weitergegeben.
</li>
<li>
Wie bereits oben erwähnt, läuft die Webanwendung auf einem
virtuellen Server bei <a href="https://netcup.de">netcup</a>. Hierbei gelten die Datenschutzbestimmungen von netcup, welche <a href="https://www.netcup.de/kontakt/datenschutzerklaerung.php">hier</a> eingesehen werden können.
</li>
</ul>
</div> </div>
<Footer /> <Footer />
</> </>

View file

@ -12,6 +12,7 @@ import BehaviorPhone from "../BehaviorPhone";
import BehaviorStanding from "../BehaviorStanding"; import BehaviorStanding from "../BehaviorStanding";
import BehaviorStudyEnd from "../BehaviorStudyEnd"; import BehaviorStudyEnd from "../BehaviorStudyEnd";
import { authFetch } from "../../auth/AuthProvider"; import { authFetch } from "../../auth/AuthProvider";
import StudyFinished from "../StudyFinished";
export default function Study() { export default function Study() {
const _logger = useRef(0); const _logger = useRef(0);
@ -33,7 +34,6 @@ export default function Study() {
useEffect(() => { useEffect(() => {
_logger.current = new Logger({ _logger.current = new Logger({
inputs: ["keyboard", "wheel", "cursor", "custom"], inputs: ["keyboard", "wheel", "cursor", "custom"],
apiUrl: "https://behavior.marcocamenzind.ch",
}); });
_logger.current.init(); _logger.current.init();
authFetch("/api/username", { authFetch("/api/username", {
@ -91,7 +91,6 @@ export default function Study() {
method: "get", method: "get",
}).then((response) => { }).then((response) => {
response.json().then((resp) => { response.json().then((resp) => {
console.log(resp.random_password);
setGenPassword(resp.random_password); setGenPassword(resp.random_password);
}); });
}); });
@ -271,6 +270,7 @@ export default function Study() {
<> <>
<div className="sitePage"> <div className="sitePage">
<h1>Studie</h1> <h1>Studie</h1>
<StudyFinished />
{state === STATES.START ? study_start : null} {state === STATES.START ? study_start : null}
{state === STATES.NORMAL ? study_normal : null} {state === STATES.NORMAL ? study_normal : null}
{state === STATES.PHONE ? study_phone : null} {state === STATES.PHONE ? study_phone : null}

View file

@ -2,7 +2,7 @@
ACTION=$1 ACTION=$1
VALUE=$2 VALUE=$2
ACTIONS=(login register rcvpw username data csv) ACTIONS=(login register rcvpw username data csv prod_data prod_csv)
print_help(){ print_help(){
echo "Usage: $0 ACTION [TOKEN|INPUT_TYPE]" echo "Usage: $0 ACTION [TOKEN|INPUT_TYPE]"
@ -41,9 +41,17 @@ case $ACTION in
curl localhost:5000/data curl localhost:5000/data
;; ;;
"${ACTIONS[5]}") # get all data from behametricsserver "${ACTIONS[5]}") # get all data from behametricsserver
echo "get data action" echo "get csv from input action"
curl localhost:5000/data/csv/"${VALUE}" curl localhost:5000/data/csv/"${VALUE}"
;; ;;
"${ACTIONS[6]}") # get all data from behametricsserver
echo "get prod data action"
curl behavior.marcocamenzind.ch:5000/data
;;
"${ACTIONS[7]}") # get all data from behametricsserver
echo "get prod csv from input action"
curl behavior.marcocamenzind.ch:5000/data/csv/"${VALUE}"
;;
*) *)
echo "Error: Action not available" echo "Error: Action not available"
echo echo