From 3a4755ba8ba5c57a1e36310516261eba47076d86 Mon Sep 17 00:00:00 2001 From: Saugat Pandey Date: Tue, 14 Mar 2023 14:36:31 -0500 Subject: [PATCH] recording ip --- .../surveys/quiz/xGc_iJ_5RI-B0PRBROEN-w.txt | 1 - ReactTool/frontend/package.json | 1 + .../frontend/src/pages/visualization_quiz.js | 14 +++++++++- ReactTool/frontend/yarn.lock | 28 +++++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) delete mode 100644 ReactTool/backend/surveys/quiz/xGc_iJ_5RI-B0PRBROEN-w.txt diff --git a/ReactTool/backend/surveys/quiz/xGc_iJ_5RI-B0PRBROEN-w.txt b/ReactTool/backend/surveys/quiz/xGc_iJ_5RI-B0PRBROEN-w.txt deleted file mode 100644 index 1c3a779..0000000 --- a/ReactTool/backend/surveys/quiz/xGc_iJ_5RI-B0PRBROEN-w.txt +++ /dev/null @@ -1 +0,0 @@ -{"session_id": "xGc_iJ_5RI-B0PRBROEN-w", "responses": {}, "mini_responses": {"What distance have customers traveled in the taxi the most?": {"response": "30 - 40 Km", "truth": 1, "time": 0.488}, "In 2020, the unemployment rate for Washington (WA) was higher than that of Wisconsin (WI).": {"response": "True", "truth": 0, "time": 0.155}, "Which country has the lowest proportion of Gold medals?": {"response": "U.S.A.", "truth": 0, "time": 0.199}, "What is the approximate global smartphone market share of Samsung?": {"response": "25.3%", "truth": 0, "time": 0.21}, "What was the price of a barrel of oil in February 2020?": {"response": "$47.02", "truth": 0, "time": 0.18}, "What was the ratio of girls named 'Isla' to girls named 'Amelia' in 2012 in the UK?": {"response": "1 to 2", "truth": 1, "time": 0.178}, "What is the cost of peanuts in Seoul?": {"response": "$5.2", "truth": 0, "time": 0.151}, "Which city's metro system has the largest number of stations?": {"response": "Shanghai", "truth": 1, "time": 0.146}, "There is a negative linear relationship between the height and the weight of the 85 males.": {"response": "True", "truth": 1, "time": 0.133}, "eBay is nested in the Software category.": {"response": "True", "truth": 1, "time": 0.089}, "What is the average internet speed in Japan?": {"response": "40.51 Mbps", "truth": 1, "time": 0.125}, "What was the average price of pount of coffee beans in October 2019?": {"response": "$0.90", "truth": 0, "time": 0.491}}, "score": 0, "mini_score": 5, "device": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36", "demographic_responses": {"sex": "male", "age": "21", "education": "associate", "familiarity": "somewhat", "color-blind": "no"}, "comment": "", "height": 870, "width": 1512} diff --git a/ReactTool/frontend/package.json b/ReactTool/frontend/package.json index d906b4a..c1fb691 100644 --- a/ReactTool/frontend/package.json +++ b/ReactTool/frontend/package.json @@ -13,6 +13,7 @@ "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", + "axios": "^1.3.4", "bootstrap": "^5.1.3", "d3": "^7.1.1", "pdf-viewer-reactjs": "^2.2.3", diff --git a/ReactTool/frontend/src/pages/visualization_quiz.js b/ReactTool/frontend/src/pages/visualization_quiz.js index 2db2a2c..92b70ec 100644 --- a/ReactTool/frontend/src/pages/visualization_quiz.js +++ b/ReactTool/frontend/src/pages/visualization_quiz.js @@ -16,6 +16,7 @@ import StackedBarChartMini from "../components/stacked100bar-mini"; import StackedAreaPlotMini from "../components/stackedArea-mini"; import StackedBarChart2Mini from "../components/stackedbar-mini"; import TreeMapMini from "../components/treeMap-mini"; +import axios from 'axios'; import img1 from '../components/data/VLAT-Pics/Scatterplot.png' import img2 from '../components/data/VLAT-Pics/StackedBar.png' @@ -84,6 +85,7 @@ class VisQuiz extends Component { width: 0, height: 0, mini_score: 0, + ip_address: "", } ) @@ -116,8 +118,17 @@ class VisQuiz extends Component { this.setState({ demographic_questions: new_dq, demographics_incomplete: incomplete }) } + getData = async () => { + //https://medium.com/how-to-react/how-to-get-user-ip-address-in-react-js-73eb295720d0 + const res = await axios.get('https://geolocation-db.com/json/') + console.log("IP Address: ", res.data); + this.setState({ + ip_address: res.data.IPv4 + }) + } clicked_mini_answer(type, question, response, truth, time) { + this.getData() if (response === minivis[this.state.current_mini_index]['options'][truth]) { this.state.mini_score = this.state.mini_score + 1 } @@ -177,7 +188,8 @@ class VisQuiz extends Component { demographic_responses: this.state.demographic_questions, comment: this.state.comment, height: window.innerHeight, - width: window.innerWidth + width: window.innerWidth, + ipaddress: this.state.ip_address }) }) .then(res => res.json()).then(data => { diff --git a/ReactTool/frontend/yarn.lock b/ReactTool/frontend/yarn.lock index dc02428..8b31f6b 100644 --- a/ReactTool/frontend/yarn.lock +++ b/ReactTool/frontend/yarn.lock @@ -3124,6 +3124,15 @@ axe-core@^4.3.5: resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz" integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== +axios@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024" + integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" @@ -6134,6 +6143,11 @@ follow-redirects@^1.0.0: resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz" integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== +follow-redirects@^1.15.0: + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" @@ -6161,6 +6175,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" @@ -10154,6 +10177,11 @@ proxy-addr@~2.0.5: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"