From f39532b06b6c4a39d8fe5feed27ef287aa561629 Mon Sep 17 00:00:00 2001
From: Hanen Alrwasheda <alrwasheda@mi.fu-berlin.de>
Date: Sun, 6 Jun 2021 08:55:49 +0200
Subject: [PATCH] Changed to class-based-components. Added example-json-file
 for the questions, and renderd them to check functionality and
 button-connection between them. Added question-counter . Added button-timer
 in Activities. NEED TO BE DONE: Random show up for activities and
 wissenssnack. Button-Connections not finished yet.

---
 user-frontend/package-lock.json               | 79 ++++++++++++++--
 user-frontend/package.json                    |  1 +
 user-frontend/src/App.js                      | 20 +++-
 user-frontend/src/components/ActivityPage.js  | 67 +++++++++----
 user-frontend/src/components/QuestionPage.js  | 93 ++++++++++++-------
 user-frontend/src/components/ResultScreen.js  | 43 +++++----
 user-frontend/src/components/WelcomeScreen.js | 38 ++++----
 .../src/components/WissenssnackPage.js        | 35 +++----
 .../src/components/css/QuestionPage.css       | 28 ++++--
 .../jsonExamples/QuestionsExample.json        | 42 +++++++++
 user-frontend/src/index.css                   |  0
 11 files changed, 322 insertions(+), 124 deletions(-)
 create mode 100644 user-frontend/src/components/jsonExamples/QuestionsExample.json
 delete mode 100644 user-frontend/src/index.css

diff --git a/user-frontend/package-lock.json b/user-frontend/package-lock.json
index 87026b7..ea045fa 100644
--- a/user-frontend/package-lock.json
+++ b/user-frontend/package-lock.json
@@ -3061,11 +3061,6 @@
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
       "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="
     },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
-    },
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -4264,6 +4259,11 @@
       "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
       "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
     },
+    "complex.js": {
+      "version": "2.0.13",
+      "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.0.13.tgz",
+      "integrity": "sha512-UEWd3G3/kd3lJmsdLsDh9qfinJlujL4hIFn3Vo4/G5eqehPsgCHf2CLhFs77tVkOp2stt/jbNit7Q1XFANFltA=="
+    },
     "component-emitter": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
@@ -5580,6 +5580,11 @@
       "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
       "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
     },
+    "escape-latex": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz",
+      "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw=="
+    },
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -6885,6 +6890,11 @@
       "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
       "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
     },
+    "fraction.js": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
+      "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg=="
+    },
     "fragment-cache": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -8178,6 +8188,11 @@
         "istanbul-lib-report": "^3.0.0"
       }
     },
+    "javascript-natural-sort": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
+      "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k="
+    },
     "jest": {
       "version": "26.6.0",
       "resolved": "https://registry.npmjs.org/jest/-/jest-26.6.0.tgz",
@@ -9940,6 +9955,32 @@
         "object-visit": "^1.0.0"
       }
     },
+    "mathjs": {
+      "version": "9.4.2",
+      "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-9.4.2.tgz",
+      "integrity": "sha512-xu0AU6bpjxbDgCB824s/yDpAe0KR1TMUYz/yY7rYyRcEH56OuG8JPgxJhqlUyhhRpY++ZFDnRxRNGChYx1FLKQ==",
+      "requires": {
+        "@babel/runtime": "^7.14.0",
+        "complex.js": "^2.0.13",
+        "decimal.js": "^10.2.1",
+        "escape-latex": "^1.2.0",
+        "fraction.js": "^4.1.1",
+        "javascript-natural-sort": "^0.7.1",
+        "seedrandom": "^3.0.5",
+        "tiny-emitter": "^2.1.0",
+        "typed-function": "^2.0.0"
+      },
+      "dependencies": {
+        "@babel/runtime": {
+          "version": "7.14.0",
+          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz",
+          "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==",
+          "requires": {
+            "regenerator-runtime": "^0.13.4"
+          }
+        }
+      }
+    },
     "md5.js": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -13567,6 +13608,11 @@
         "ajv-keywords": "^3.5.2"
       }
     },
+    "seedrandom": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
+      "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
+    },
     "select-hose": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -14847,6 +14893,11 @@
       "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
       "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
     },
+    "tiny-emitter": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
+    },
     "tiny-invariant": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
@@ -15032,6 +15083,11 @@
         "mime-types": "~2.1.24"
       }
     },
+    "typed-function": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-2.0.0.tgz",
+      "integrity": "sha512-Hhy1Iwo/e4AtLZNK10ewVVcP2UEs408DS35ubP825w/YgSBK1KVLwALvvIG4yX75QJrxjCpcWkzkVRB0BwwYlA=="
+    },
     "typed-styles": {
       "version": "0.0.7",
       "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz",
@@ -16389,11 +16445,18 @@
           }
         },
         "ws": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+          "version": "6.2.2",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
+          "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
           "requires": {
             "async-limiter": "~1.0.0"
+          },
+          "dependencies": {
+            "async-limiter": {
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+              "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
+            }
           }
         },
         "yargs": {
diff --git a/user-frontend/package.json b/user-frontend/package.json
index 7ed55c5..c738e82 100644
--- a/user-frontend/package.json
+++ b/user-frontend/package.json
@@ -7,6 +7,7 @@
     "@testing-library/react": "^11.2.7",
     "@testing-library/user-event": "^12.8.3",
     "bootstrap": "^5.0.1",
+    "mathjs": "^9.4.2",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
     "react-router-dom": "^5.2.0",
diff --git a/user-frontend/src/App.js b/user-frontend/src/App.js
index 6030e64..d43e5bd 100644
--- a/user-frontend/src/App.js
+++ b/user-frontend/src/App.js
@@ -15,11 +15,21 @@ export default function App(){
     <div className="App">
      <Router>
         <Switch>
-          <Route path="/" exact component={Welcome}/>
-          <Route path="/Question"  component={Question}/>
-          <Route path="/Result" component={Result}/>
-          <Route path="/Wissenssnack" component={Wissenssnack}/>
-          <Route path="/Activity" component={Activity}/>
+          <Route path="/" exact>
+            <Welcome/>
+          </Route>
+          <Route path="/Question">
+            <Question/>
+          </Route>
+          <Route path="/Result">
+            <Result/>
+          </Route>
+          <Route path="/Wissenssnack">
+            <Wissenssnack/>
+          </Route>
+          <Route path="/Activity">
+            <Activity/>
+          </Route>
         </Switch>
       </Router>
       
diff --git a/user-frontend/src/components/ActivityPage.js b/user-frontend/src/components/ActivityPage.js
index 7259e5f..64dde86 100644
--- a/user-frontend/src/components/ActivityPage.js
+++ b/user-frontend/src/components/ActivityPage.js
@@ -6,26 +6,57 @@ import "./css/Activity.css"
 
 
 
-function Activity(){
-    return(
-        <div className="activity-mainContainer">
-            <div className="activity-rightSide"></div>
-            <div className="activity-leftSide"></div>
-            <img className="activity-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
-            <p className="activity-text1">Jetzt Wird's Aktiv!</p>
-            <p className="activity-text2">explanation</p>
+class Activity extends React.Component{
+    constructor(){
+        super()
+        this.state = {
+            disabled : true,
+            count : 10
+        }
+    }
+    
+
+    timer = setTimeout(() => {
+        this.setState(
+            {
+                disabled : false,
+                 
+            }
+        )
+        
+    }, 10000);
+    componentDidMount(){
+        setInterval(() => {
+            this.setState(
+                {
+                    count : this.state.count - 1
+                }
+            )
+            
+        }, 1000);
+    }
+    render(){
+                    
+        return(
+            <div className="activity-mainContainer">
+                <div className="activity-rightSide"></div>
+                <div className="activity-leftSide"></div>
+                <img className="activity-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
+                <p className="activity-text1">Jetzt Wird's Aktiv!</p>
+                <p className="activity-text2">explanation</p>                
+                <img className="activity-image" src={activeImage} alt='active_img'/>
             
-            <img className="activity-image" src={activeImage} alt='active_img'/>
-          
-            <Link to="/Wissenssnack">
-                <button className="activity-backButton" type="button">back</button>
-            </Link>
-            <Link to="/Result">
-                <button className="activity-nextButton" type="button">next</button>
-            </Link>
+                <Link to="/Wissenssnack">
+                    <button className="activity-backButton" style={{fontSize : this.state.disabled ? 30 : 40 , cursor: this.state.disabled ? "wait" : "pointer"}} disabled={this.state.disabled ? true : false} type="button">{this.state.disabled ? "click after " + this.state.count : "back"}</button>
+                </Link>
+                <Link to="/Result">
+                    <button className="activity-nextButton" style={{fontSize : this.state.disabled ? 30 : 40 , cursor: this.state.disabled ? "wait" : "pointer"}} disabled={this.state.disabled ? true : false} type="button">{this.state.disabled ? "click after " + this.state.count : "next"}</button>
+                    
+                </Link>
 
-        </div>
-    );
+            </div>
+        );
+    }
 }
 
 export default Activity;
\ No newline at end of file
diff --git a/user-frontend/src/components/QuestionPage.js b/user-frontend/src/components/QuestionPage.js
index d4e1891..e6bedd7 100644
--- a/user-frontend/src/components/QuestionPage.js
+++ b/user-frontend/src/components/QuestionPage.js
@@ -2,48 +2,75 @@ import React from "react"
 import unisport_logo from './images/logo_unisport.png'
 import {Link} from "react-router-dom"
 import "./css/QuestionPage.css"
+import questionsExamples from "./jsonExamples/QuestionsExample.json"
 
 
 
-function Question(){
+class Question extends React.Component{
+    constructor(){
+        super()
+        this.state = {
+            index : 0
+        }
+    }
+    questionsArray = questionsExamples.map((element) => element);
     
-    return(
-        <div  className="question-mainContainer">
-            
-            <img  className="question-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
-            <p className="question-text1" >Question:</p>
-
-            <div className="question-answerSection">
-                <div className="answer-input">
-                    <input className="fst" type="radio"/>
-                    <label for="fst">not agree entirely</label>
-                </div>
+    clickNext = () => {
+        this.setState(
+            {
+                index : this.state.index + 1
+            }
+        )
+    }
+    clickBack = () => {
+        this.setState(
+            {
+                index : this.state.index - 1
+            }
+        )
+    }
+    
+    render(){
+        return(
+            <div  className="question-mainContainer">
                 
-                <div className="answer-input">
-                    <input className="snd" type="radio"/>
-                    <label for="snd">not agree</label>
-                </div>
+                <img  className="question-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
+                <p className="question-counter">{this.state.index+1}/{this.questionsArray.length}</p>
+                <p className="question-text1" >{this.questionsArray[this.state.index].question}</p>
 
-                <div className="answer-input">
-                    <input className="thd" type="radio"/>
-                    <label for="thd">agree</label>
-                </div>
+                <div className="question-answerSection">
+                    <div className="answer-input">
+                        <input className="fst" type="radio"/>
+                        <label for="fst">not agree entirely</label>
+                    </div>
+                    
+                    <div className="answer-input">
+                        <input className="snd" type="radio"/>
+                        <label for="snd">not agree</label>
+                    </div>
 
-                <div className="answer-input">
-                    <input className="fth" type="radio"/>
-                    <label for="fth">agree entirely</label>
-                </div>
+                    <div className="answer-input">
+                        <input className="thd" type="radio"/>
+                        <label for="thd">agree</label>
+                    </div>
+
+                    <div className="answer-input">
+                        <input className="fth" type="radio"/>
+                        <label for="fth">agree entirely</label>
+                    </div>
 
+                </div>
+                
+                <Link to={this.state.index > 0 ? "/Question" : "/"}>
+                    <button className="question-backButton" type="button" onClick={this.clickBack}>back</button>
+                </Link>
+                <Link to={this.state.index < this.questionsArray.length - 1 ? "/Question" : "/Wissenssnack"}>
+                    <button className="question-nextButton" type="button" onClick={this.clickNext}>next</button>
+                </Link>
+                {console.log(this.state.index)}
             </div>
-            
-            <Link to="/">
-                <button className="question-backButton" type="button">back</button>
-            </Link>
-            <Link to="/Wissenssnack">
-                <button className="question-nextButton" type="button">next</button>
-            </Link>
-        </div>
-    );
+        );
+    }
 }
 
 export default Question;
\ No newline at end of file
diff --git a/user-frontend/src/components/ResultScreen.js b/user-frontend/src/components/ResultScreen.js
index 08822fa..0259bda 100644
--- a/user-frontend/src/components/ResultScreen.js
+++ b/user-frontend/src/components/ResultScreen.js
@@ -4,31 +4,34 @@ import {Link} from "react-router-dom"
 import "./css/ResultScreen.css"
 
 
-function Result(){
+class Result extends React.Component{
+   
     
-    return(
-        <div className="result-mainContainer">
-            <div className="result-lefttSide"></div>
-            <div className="result-rightSide"></div>
-            <img  className="result-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
-            <p className='result-text1'>Aufgrund Deiner Angaben empfeglen wir Dir folgende Sportarten</p>
-            <p className='result-text2'>Klick einfach auf die Sportart, um weiter Details zu erfahren!</p>
-            
-            <ul className="result-sports-list">
-                <li>sport1</li>
-                <li>sport2</li>
-                <li>sport3</li>
+    render(){
+        return(
+            <div className="result-mainContainer">
+                <div className="result-lefttSide"></div>
+                <div className="result-rightSide"></div>
+                <img  className="result-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
+                <p className='result-text1'>Aufgrund Deiner Angaben empfeglen wir Dir folgende Sportarten</p>
+                <p className='result-text2'>Klick einfach auf die Sportart, um weiter Details zu erfahren!</p>
+                
+                <ul className="result-sports-list">
+                    <li>sport1</li>
+                    <li>sport2</li>
+                    <li>sport3</li>
 
-            </ul>
+                </ul>
 
-            <Link to="/Activity">
-                <button className="result-backButton" id="backButton" type="button">back</button>
-            </Link>
+                <Link to="/Activity">
+                    <button className="result-backButton" id="backButton" type="button">back</button>
+                </Link>
+                
             
-           
 
-        </div>
-    )
+            </div>
+        );
+    }
 }
 
 export default Result;
\ No newline at end of file
diff --git a/user-frontend/src/components/WelcomeScreen.js b/user-frontend/src/components/WelcomeScreen.js
index 096c7b7..51d948b 100644
--- a/user-frontend/src/components/WelcomeScreen.js
+++ b/user-frontend/src/components/WelcomeScreen.js
@@ -7,27 +7,29 @@ import unisport_logo from './images/logo_unisport.png';
 import project_logo from './images/logo_unisport_o_mat.jpg'
 
 
-function Welcome(){
+class Welcome extends React.Component{
 
     
-    return(
-        <div  className="welcome-mainContainer" >
-            
-            <div className="welcome-leftSide" >
+    render(){
+        return(
+            <div  className="welcome-mainContainer" >
+                
+                <div className="welcome-leftSide" >
+                </div>
+                <img className="welcome-unisportLogo"  src={unisport_logo} alt="unisport-logo"/>
+                <p className="welcome-text1" >Welcome By</p>
+                <img className="welcome-unisportSportOMatLogo"  src={project_logo} alt="unisport-o-mat-logo"/>
+
+                <div className="welcome-rightSide" >
+                </div>
+                <p className="welcome-text2" >Beantworte die Fragen</p>
+                <p className="welcome-text3" >Du bekommst am Ende anhand Deiner Antworten ein Ergebnis zu den für Dich passenden Sportarten</p>
+                <Link to="/Question">
+                    <button className="welcome-button" type="button">Start</button>
+                </Link>
             </div>
-            <img className="welcome-unisportLogo"  src={unisport_logo} alt="unisport-logo"/>
-            <p className="welcome-text1" >Welcome By</p>
-            <img className="welcome-unisportSportOMatLogo"  src={project_logo} alt="unisport-o-mat-logo"/>
-
-            <div className="welcome-rightSide" >
-            </div>
-            <p className="welcome-text2" >Beantworte die Fragen</p>
-            <p className="welcome-text3" >Du bekommst am Ende anhand Deiner Antworten ein Ergebnis zu den für Dich passenden Sportarten</p>
-            <Link to="/Question">
-                <button className="welcome-button" type="button">Start</button>
-            </Link>
-        </div>
-    );
+        );
+    }
 }
 
 
diff --git a/user-frontend/src/components/WissenssnackPage.js b/user-frontend/src/components/WissenssnackPage.js
index f059ed9..452a6b2 100644
--- a/user-frontend/src/components/WissenssnackPage.js
+++ b/user-frontend/src/components/WissenssnackPage.js
@@ -4,24 +4,27 @@ import {Link} from "react-router-dom"
 import "./css/Wissenssnack.css"
 
 
-function Wissenssnack(){
-    return(
-        <div className="wissenssnack-mainContainer">
-            
-            <img  className="wissenssnack-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
-            <p className="wissenssnack-text1">Wusstest Du...?</p>
-            <p className="wissenssnack-text2">Wissenssnack_text</p>
-            
+class Wissenssnack extends React.Component{
+    
+    render(){
+        return(
+            <div className="wissenssnack-mainContainer">
+                
+                <img  className="wissenssnack-unisportLogo" src={unisport_logo} alt="unisport-logo"/>
+                <p className="wissenssnack-text1">Wusstest Du...?</p>
+                <p className="wissenssnack-text2">Wissenssnack_text</p>
+                
 
-            <Link to="/Question">
-                <button className="wissenssnack-backButton" type="button">back</button>
-            </Link>
-            <Link to="/Activity">
-                <button className="wissenssnack-nextButton" type="button">next</button>
-            </Link>
+                <Link to="/Question">
+                    <button className="wissenssnack-backButton" type="button">back</button>
+                </Link>
+                <Link to="/Activity">
+                    <button className="wissenssnack-nextButton" type="button">next</button>
+                </Link>
 
-        </div>
-    );
+            </div>
+        );
+    }
 }
 
 export default Wissenssnack;
\ No newline at end of file
diff --git a/user-frontend/src/components/css/QuestionPage.css b/user-frontend/src/components/css/QuestionPage.css
index 21e3566..2049301 100644
--- a/user-frontend/src/components/css/QuestionPage.css
+++ b/user-frontend/src/components/css/QuestionPage.css
@@ -36,17 +36,33 @@
     top: 55px;
     
 }
+.question-counter{
+    position: absolute;
+    width: 302px;
+    height: 46px;
+    left: 569px;
+    top: 150px;
+
+    font-family: Roboto;
+    font-style: normal;
+    font-weight: bold;
+    font-size: 36px;
+    line-height: 42px;
+    text-align: center;
+
+    color: #99CC01;
+}
 .question-text1{
     position: absolute;
-    width: 752px;
-    height: 271px;
-    left: 344px;
-    top: 234px;
+    width: 1087px;
+    height: 432px;
+    left: 176px;
+    top: 240px;
 
     font-family: Roboto;
     font-style: normal;
     font-weight: bold;
-    font-size: 75px;
+    font-size: 60px;
     line-height: 88px;
     text-align: center;
 
@@ -57,7 +73,7 @@
     width: 1350px;
     height: 100px;
     left: 45px;
-    top: 689px;
+    top: 660px;
     padding-left: 150px;
 }
 .answer-input{
diff --git a/user-frontend/src/components/jsonExamples/QuestionsExample.json b/user-frontend/src/components/jsonExamples/QuestionsExample.json
new file mode 100644
index 0000000..08f8d81
--- /dev/null
+++ b/user-frontend/src/components/jsonExamples/QuestionsExample.json
@@ -0,0 +1,42 @@
+[
+    {
+        "id" : 1,
+        "question" : "Ich würde am liebsten gemeinsam mit anderen trainieren. Teamgeist und Wir-Gefühl sind für mich beim Sport eine große Motivation."
+    },
+    {
+        "id" : 2,
+        "question" : "Ich betreibe lieber alleine Sport."
+    },
+    {
+        "id" : 3,
+        "question" : "Ich bin bereit, mir ggf. Material oder eine notwendige Ausrüstung für die Sportart zu kaufen/besorgen."
+    },
+    {
+        "id" : 4,
+        "question" : "Ich bevorzuge das Sportangebot draußen in der Natur vor dem Indoor-Angebot."
+    },
+    {
+        "id" : 5,
+        "question" : " Ich mag Sportarten, bei denen die Trainingsintensität hoch ist."
+    },
+    {
+        "id" : 6,
+        "question" : "Die Förderung und Erhaltung meiner Gesundheit ist der Hauptgrund für meine sportliche Betätigung."
+    },
+    {
+        "id" : 7,
+        "question" : "Es bereitet mir große Freude, wenn ich mich im Sport mit anderen messen kann."
+    },
+    {
+        "id" : 8,
+        "question" : "Sport betreibe ich vor allem für mich selbst, das Konkurrieren mit anderen ist mir dabei nicht wichtig."
+    },
+    {
+        "id" : 9,
+        "question" : "Ich probiere gerne neue und mir unbekannte Sportarten aus und möchte neue koordinative und taktische Bewegungen lernen."
+    },
+    {
+        "id" : 10,
+        "question" : "Bereits bekannte Sportarten sind mir am liebsten." 
+    }
+]
\ No newline at end of file
diff --git a/user-frontend/src/index.css b/user-frontend/src/index.css
deleted file mode 100644
index e69de29..0000000
-- 
GitLab