From 72328ca8855ade767a450cf4d3489fc033d64994 Mon Sep 17 00:00:00 2001 From: David Agustin Date: Sat, 22 Dec 2018 18:34:14 -0800 Subject: [PATCH 1/3] Add foreign keys to user and hotels table --- .eslintrc | 8 + .idea/TravelTipster-davidagustin-service.iml | 12 + .idea/codeStyles/Project.xml | 27 + .idea/codeStyles/codeStyleConfig.xml | 6 + .idea/encodings.xml | 4 + .idea/inspectionProfiles/Project_Default.xml | 8 + .idea/jsLibraryMappings.xml | 6 + .idea/jsLinters/eslint.xml | 6 + .idea/misc.xml | 9 + .idea/modules.xml | 8 + .idea/sqldialects.xml | 6 + .idea/vcs.xml | 6 + .idea/workspace.xml | 358 + README.md | 0 STYLE-GUIDE.md | 0 client/.gitkeep | 0 db/faker.js | 191 + db/index.js | 18 + package-lock.json | 7599 ++++++++++++++++++ package.json | 40 +- public/.gitkeep | 0 schema.sql | 0 server/.gitkeep | 0 server/index.js | 36 + server/test.js | 2 + webpack.config.js | 23 + 26 files changed, 8365 insertions(+), 8 deletions(-) create mode 100755 .eslintrc create mode 100755 .idea/TravelTipster-davidagustin-service.iml create mode 100755 .idea/codeStyles/Project.xml create mode 100755 .idea/codeStyles/codeStyleConfig.xml create mode 100755 .idea/encodings.xml create mode 100755 .idea/inspectionProfiles/Project_Default.xml create mode 100755 .idea/jsLibraryMappings.xml create mode 100755 .idea/jsLinters/eslint.xml create mode 100755 .idea/misc.xml create mode 100755 .idea/modules.xml create mode 100644 .idea/sqldialects.xml create mode 100755 .idea/vcs.xml create mode 100755 .idea/workspace.xml mode change 100644 => 100755 README.md mode change 100644 => 100755 STYLE-GUIDE.md mode change 100644 => 100755 client/.gitkeep create mode 100755 db/faker.js create mode 100755 db/index.js create mode 100755 package-lock.json mode change 100644 => 100755 package.json mode change 100644 => 100755 public/.gitkeep create mode 100644 schema.sql mode change 100644 => 100755 server/.gitkeep create mode 100755 server/index.js create mode 100755 server/test.js create mode 100755 webpack.config.js diff --git a/.eslintrc b/.eslintrc new file mode 100755 index 0000000..d3f889b --- /dev/null +++ b/.eslintrc @@ -0,0 +1,8 @@ +{ + "parser": "babel-eslint", + "rules": { + "max-len": [1, 120, 2, {"ignoreComments": true}], + "prop-types": [2] + }, + "extends": ["airbnb-base"] +} diff --git a/.idea/TravelTipster-davidagustin-service.iml b/.idea/TravelTipster-davidagustin-service.iml new file mode 100755 index 0000000..24643cc --- /dev/null +++ b/.idea/TravelTipster-davidagustin-service.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100755 index 0000000..1524f31 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,27 @@ + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100755 index 0000000..6e6eec1 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100755 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100755 index 0000000..ec73322 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100755 index 0000000..d23208f --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jsLinters/eslint.xml b/.idea/jsLinters/eslint.xml new file mode 100755 index 0000000..2d170e0 --- /dev/null +++ b/.idea/jsLinters/eslint.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100755 index 0000000..5932559 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100755 index 0000000..d7618e1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml new file mode 100644 index 0000000..56782ca --- /dev/null +++ b/.idea/sqldialects.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100755 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100755 index 0000000..d224130 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + averageOverallHotelRating: 4. + ull + monthIsolated Dece + + + + + + + + + true + + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + @@ -32,8 +95,8 @@ - - + + @@ -41,40 +104,26 @@ - - + + - - - - - - - - - - - - - - - - + + - + - - + + @@ -82,17 +131,22 @@ - - + + + + + + + - - + + @@ -111,6 +165,22 @@ averageOverallHotelRating: 4. ull monthIsolated Dece + Crist hotel + 81 + Lueilwitz + Lake Jovanny + 664 Wallace + Bode hotel + Bode + Jakubowski + hotelID: 0 + Wehner + userWhoPosted + averageOverall + HotelRating + averageHotel + overAllRating + console.log @@ -120,14 +190,16 @@ @@ -138,52 +210,49 @@ true - + - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86,67 +57,96 @@ - - + + - + + + + + + + + + + - - + + - + - - + + - + - - + + + + + - - + + - - + + + + + - + - - + + + + + + + + + + + + - + + + + + - + - - + + @@ -194,12 +194,17 @@ @@ -210,10 +215,10 @@ true - @@ -228,6 +233,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -285,7 +314,10 @@ - + + + + @@ -300,6 +332,7 @@ + @@ -324,12 +357,12 @@ - + - @@ -341,19 +374,19 @@ - + - - - + + + - + - - + + @@ -399,6 +432,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -406,62 +460,110 @@ - + - - + + - + - - + + - + - - + + + + + + + + + + + - + - + - - + + - - + + + + + + - + + + + + + + + + - - + + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/client/src/components/App.jsx b/client/src/components/App.jsx new file mode 100644 index 0000000..c640f81 --- /dev/null +++ b/client/src/components/App.jsx @@ -0,0 +1,59 @@ +import React from 'react'; +import $ from 'jquery'; + +export default class App extends React.Component { + constructor(props) { + super(props); + + this.state = { + text: '', + update: 'text will change if button works', + }; + + this.handleChange = this.handleChange.bind(this); + this.handleSubmit = this.handleSubmit.bind(this); + } + + componentDidMount() { + $.get('/text'); + } + + handleChange(e) { + let newState = {}; + newState[e.target.name] = e.target.value; + this.setState(newState); + } + + handleSubmit(e) { + e.preventDefault(); + console.log('handleSubmit fires'); + + let data = { + text: this.state.text + }; + fetch('/text', { + method: 'POST', + headers: { + 'Content-Type': 'application/json; charset=utf-8' + }, + body: JSON.stringify(data) + }); + } + + + render() { + return ( +
+

Reviews

+
+ + +
+
+ ); + } + +} + diff --git a/client/src/index.jsx b/client/src/index.jsx new file mode 100644 index 0000000..cb63d96 --- /dev/null +++ b/client/src/index.jsx @@ -0,0 +1,6 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; + +import App from './components/App.jsx'; + +ReactDOM.render(, document.getElementById('app')); diff --git a/package-lock.json b/package-lock.json index a19f90f..60f8a90 100755 --- a/package-lock.json +++ b/package-lock.json @@ -2036,6 +2036,45 @@ "babel-template": "^6.24.1" } }, + "babel-loader": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.4.tgz", + "integrity": "sha512-fhBhNkUToJcW9nV46v8w87AJOwAJDz84c1CL57n3Stj73FANM/b9TbCUK4YhdOwEyZ+OxhYpdeZDNzSI29Firw==", + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "util.promisify": "^1.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, "babel-messages": { "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", @@ -2249,8 +2288,7 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "bignumber.js": { "version": "4.1.0", @@ -2712,8 +2750,7 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "component-emitter": { "version": "1.2.1", @@ -2943,7 +2980,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, "requires": { "object-keys": "^1.0.12" } @@ -3094,8 +3130,7 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "encodeurl": { "version": "1.0.2", @@ -3145,7 +3180,6 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", - "dev": true, "requires": { "es-to-primitive": "^1.1.1", "function-bind": "^1.1.1", @@ -3158,7 +3192,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4516,8 +4549,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -4638,7 +4670,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -4669,8 +4700,7 @@ "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, "has-value": { "version": "1.0.0", @@ -5012,8 +5042,7 @@ "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-data-descriptor": { "version": "0.1.4", @@ -5038,8 +5067,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-descriptor": { "version": "0.1.6", @@ -5166,7 +5194,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "^1.0.1" } @@ -5181,7 +5208,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, "requires": { "has-symbols": "^1.0.0" } @@ -5210,6 +5236,11 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, + "jquery": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", + "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" + }, "js-levenshtein": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz", @@ -5219,8 +5250,7 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.12.0", @@ -5259,8 +5289,7 @@ "json5": { "version": "0.5.1", "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsx-ast-utils": { "version": "2.0.1", @@ -5328,7 +5357,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, "requires": { "big.js": "^3.1.3", "emojis-list": "^2.0.0", @@ -5339,7 +5367,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -5348,8 +5375,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, @@ -5369,7 +5395,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -5395,7 +5420,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, "requires": { "pify": "^3.0.0" }, @@ -5403,8 +5427,7 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } }, @@ -5616,7 +5639,6 @@ "version": "0.5.1", "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" }, @@ -5624,8 +5646,7 @@ "minimist": { "version": "0.0.8", "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, @@ -5804,8 +5825,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-copy": { "version": "0.1.0", @@ -5847,8 +5867,7 @@ "object-keys": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", - "dev": true + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" }, "object-visit": { "version": "1.0.1", @@ -5883,6 +5902,15 @@ "has": "^1.0.1" } }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", @@ -6006,7 +6034,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { "p-try": "^1.0.0" } @@ -6015,7 +6042,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -6023,8 +6049,7 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "pako": { "version": "1.0.7", @@ -6270,7 +6295,6 @@ "version": "15.6.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "dev": true, "requires": { "loose-envify": "^1.3.1", "object-assign": "^4.1.1" @@ -6432,6 +6456,28 @@ } } }, + "react": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.7.0.tgz", + "integrity": "sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.12.0" + } + }, + "react-dom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz", + "integrity": "sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.12.0" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -6753,6 +6799,15 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "scheduler": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz", + "integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, "schema-utils": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", @@ -7739,6 +7794,15 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", diff --git a/package.json b/package.json index 1228e0b..b58c23f 100755 --- a/package.json +++ b/package.json @@ -12,8 +12,12 @@ "db": "mysql -u root -p < schema.sql && node ./server/index.js" }, "dependencies": { + "babel-loader": "^8.0.4", "faker": "^4.1.0", - "lorem-ipsum": "^1.0.6" + "jquery": "^3.3.1", + "lorem-ipsum": "^1.0.6", + "react": "^16.7.0", + "react-dom": "^16.7.0" }, "devDependencies": { "@babel/core": "^7.2.2", diff --git a/server/controller.js b/server/controller.js new file mode 100644 index 0000000..76aa5ad --- /dev/null +++ b/server/controller.js @@ -0,0 +1,41 @@ +const db = require('./../db/'); + +const postData = (req, res) => { + console.log('postData fires!'); + console.log('this req of postData', req); + console.log('this is type of req', typeof req); + + let sqlCommand = `INSERT INTO test_table (text) VALUES('${req.text}')`; + db.query(sqlCommand, (err, data) => { + if (err) { + console.log('ERROR SQL'); + } else { + console.log('SUCCESS SQL'); + console.log('this is data in db.query', data); + } + }); +}; + +const getData = () => { + return new Promise((resolve, reject) => { + db.query('SELECT id FROM hotels VALUES', (err, response) => { + if (err) { + reject(err); + } + resolve(response); + }); + }); + // let sqlCommand = `SELECT * FROM test_table`; + // db.query(sqlCommand, (err, data) => { + // if(err) { + // console.log('Error in get request') + // } else { + // res(data) + // } + // }) +}; + +module.exports = { + postData, + getData +}; diff --git a/server/index.js b/server/index.js index 9cb0ebd..044f482 100755 --- a/server/index.js +++ b/server/index.js @@ -6,8 +6,19 @@ const bodyParser = require('body-parser'); // let Promise = require('promise'); app.use(bodyParser.json()); +// app.use(bodyParser.urlencoded({extended: true})); app.use(express.static(path.join(__dirname, './../client/dist'))); +app.post('/text', (req, res) => { + console.log('text fires!'); + console.log('req.body', req.body); +}); + +app.get('/text', (req, res) => { + console.log('app.get fires'); +}); + + const { userTable, imagesTable, hotelsTable, userReviewMessage, replyTable } = require('../db/faker.js'); // console.log(userTable); @@ -66,6 +77,6 @@ for (let i = 0; i < replyTable.length; i++) { }); } - const PORT = 3000; -app.listen(PORT, () => console.log(`Example app listening on port ${PORT}!`)); +app.listen(PORT, () => console.log(`TravelTipster Server is listening on PORT ${PORT}`)); + diff --git a/server/test.js b/server/test.js index e69de29..3ac5eb1 100755 --- a/server/test.js +++ b/server/test.js @@ -0,0 +1,16 @@ +// const path = require('path'); +// const express = require('express'); +// const app = express(); +// +// const bodyParser = require('body-parser'); +// +// app.use(bodyParser.json()); +// app.use(bodyParser.urlencoded); +// +// app.use(express.static(path.join(__dirname, './../client/dist'))); +// +// app.post('/text', (req, res) => { +// console.log('app.post fires'); +// }); +// +// const PORT = 3000;