From 9dfb5658d8b368b856e6494543d0b8e4f1191540 Mon Sep 17 00:00:00 2001 From: jhuma Date: Sun, 13 Oct 2024 07:56:05 +0530 Subject: [PATCH 01/23] Adjusted the dimensions of the navbar for better alignment also Eliminated the red line that appeared under navlinks for a cleaner look --- styles.css | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/styles.css b/styles.css index 3b50b603..4072fe54 100644 --- a/styles.css +++ b/styles.css @@ -2066,7 +2066,8 @@ body { .nav-container { margin-top: 0; height: auto; - width: 200%; + /* width: 200%; */ + width: 100%; display: flex; justify-content: flex-start; align-items: center; @@ -2083,7 +2084,7 @@ body { gap: 0.5rem; height: auto; width: 100%; - padding: 0.4rem 0.5rem; + padding: 0.4rem 1rem; z-index: 10000; transition: all 0.6s; } @@ -2106,13 +2107,16 @@ body { display: flex; justify-content: center; align-items: center; - font-size: 1.16rem; + /* font-size: 1.16rem; */ + font-size: 1rem; list-style: none; - gap: 0.97rem; + /* gap: 0.97rem; */ position: relative; - top: 0.5rem; + /* top: 0.5rem; */ + top: 0; z-index: 10; right: 24px; + } .link { @@ -2189,6 +2193,9 @@ body { width: 100%; transition: all 0.2s ease-in-out; } */ + + + .contact-btn { position: relative; right: 15px; @@ -2228,9 +2235,11 @@ body { position: absolute; top: 70px; background-color: #091020; - width: 0%; + /* width: 0%; */ + width: 100%; left: 0; - height: 100vh; + /* height: 100vh; */ + height: auto; padding: 2rem 0; flex-direction: column; transition: 0.2s; @@ -3098,4 +3107,32 @@ a:hover::after { margin-bottom: auto; font-size: 14px; font-weight: 600; +} + +/* For removing the red line that appears on the navbar of navlink section */ +.navLinks a, .link a { + position: relative; + text-decoration: none; + color: white; + font-size: 14px; +} + +.navLinks a::after, .link a::after { + content: ''; + position: absolute; + width: 0%; + height: 0px; + bottom: -5px; + left: 0; + background-color: transparent; + transition: all 0.3s ease-in-out; +} + +.navLinks a:hover, .link a:hover { + color: red; +} + +.navLinks a:hover::after, .link a:hover::after { + width: 0%; + background-color: transparent; } \ No newline at end of file From 80352b4f5c26c56d1b443f2631f470d080810d86 Mon Sep 17 00:00:00 2001 From: Vaibhav-Yerkar Date: Thu, 17 Oct 2024 01:27:02 +0530 Subject: [PATCH 02/23] UI improvement --- backend/package-lock.json | 638 +++++++++++++++++++++++++++++++++++++- backend/package.json | 3 +- index.html | 13 +- styles.css | 5 +- 4 files changed, 650 insertions(+), 9 deletions(-) diff --git a/backend/package-lock.json b/backend/package-lock.json index c8a24e0c..ffd3c33b 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -18,7 +18,28 @@ "http-status-codes": "^2.2.0", "jsonwebtoken": "^9.0.2", "mongoose": "^8.4.4", - "nodemon": "^2.0.22" + "nodemon": "^2.0.22", + "winston": "^3.15.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" } }, "node_modules/@mongodb-js/saslprep": { @@ -30,6 +51,12 @@ "sparse-bitfield": "^3.0.3" } }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" + }, "node_modules/@types/webidl-conversions": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", @@ -50,6 +77,18 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -79,11 +118,37 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", @@ -151,6 +216,30 @@ "node": ">=16.20.1" } }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -204,6 +293,51 @@ "fsevents": "~2.3.2" } }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -323,6 +457,12 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -344,6 +484,24 @@ "node": ">= 0.6" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -424,6 +582,12 @@ "node": ">= 0.8" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -452,6 +616,12 @@ "node": ">= 0.8" } }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -572,6 +742,26 @@ "node": ">=0.10.0" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", @@ -590,6 +780,12 @@ "node": ">= 0.10" } }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -628,6 +824,18 @@ "node": ">=0.12.0" } }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/jsonwebtoken": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", @@ -698,6 +906,12 @@ "node": ">=12.0.0" } }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "license": "MIT" + }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -740,6 +954,29 @@ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "license": "MIT" }, + "node_modules/logform": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", + "license": "MIT", + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/logform/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1039,6 +1276,15 @@ "node": ">= 0.8" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "license": "MIT", + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -1063,6 +1309,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -1126,6 +1381,20 @@ "node": ">= 0.8" } }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -1156,6 +1425,15 @@ } ] }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -1236,6 +1514,15 @@ "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==", "license": "MIT" }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/simple-update-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", @@ -1264,6 +1551,15 @@ "memory-pager": "^1.0.2" } }, + "node_modules/stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -1272,6 +1568,15 @@ "node": ">= 0.8" } }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -1283,6 +1588,12 @@ "node": ">=4" } }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -1325,6 +1636,15 @@ "node": ">=14" } }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1350,6 +1670,12 @@ "node": ">= 0.8" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -1387,9 +1713,76 @@ "engines": { "node": ">=16" } + }, + "node_modules/winston": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.15.0.tgz", + "integrity": "sha512-RhruH2Cj0bV0WgNL+lOfoUBI4DVfdUNjVnJGVovWZmrcKtrFTTRzgXYK2O9cymSGjrERCtaAeHwMNnUWXlwZow==", + "license": "MIT", + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.6.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.8.0.tgz", + "integrity": "sha512-qxSTKswC6llEMZKgCQdaWgDuMJQnhuvF5f2Nk3SNXc4byfQ+voo2mX1Px9dkNOuR8p0KAjfPG29PuYUSIb+vSA==", + "license": "MIT", + "dependencies": { + "logform": "^2.6.1", + "readable-stream": "^4.5.2", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } } }, "dependencies": { + "@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==" + }, + "@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "requires": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "@mongodb-js/saslprep": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.7.tgz", @@ -1398,6 +1791,11 @@ "sparse-bitfield": "^3.0.3" } }, + "@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==" + }, "@types/webidl-conversions": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", @@ -1416,6 +1814,14 @@ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, + "abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", @@ -1439,11 +1845,21 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", @@ -1495,6 +1911,15 @@ "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==" }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "buffer-equal-constant-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", @@ -1529,6 +1954,46 @@ "readdirp": "~3.6.0" } }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "requires": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -1618,6 +2083,11 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -1633,6 +2103,16 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, + "event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, "express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -1703,6 +2183,11 @@ } } }, + "fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -1725,6 +2210,11 @@ "unpipe": "~1.0.0" } }, + "fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" + }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -1807,6 +2297,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore-by-default": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", @@ -1822,6 +2317,11 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -1848,6 +2348,11 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, "jsonwebtoken": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", @@ -1901,6 +2406,11 @@ "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==" }, + "kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" + }, "lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -1936,6 +2446,26 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, + "logform": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.1.tgz", + "integrity": "sha512-CdaO738xRapbKIMVn2m4F6KTj4j7ooJ8POVnebSgKo3KBz5axNXRAL7ZdRjIV6NOr2Uf4vjtRkxrFETOioCqSA==", + "requires": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -2123,6 +2653,14 @@ "ee-first": "1.1.1" } }, + "one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "requires": { + "fn.name": "1.x.x" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -2138,6 +2676,11 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -2181,6 +2724,16 @@ "unpipe": "1.0.0" } }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -2194,6 +2747,11 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, + "safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==" + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -2262,6 +2820,14 @@ "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==" }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + } + }, "simple-update-notifier": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", @@ -2285,11 +2851,24 @@ "memory-pager": "^1.0.2" } }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" + }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -2298,6 +2877,11 @@ "has-flag": "^3.0.0" } }, + "text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2327,6 +2911,11 @@ "punycode": "^2.3.0" } }, + "triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==" + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -2346,6 +2935,11 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -2369,6 +2963,48 @@ "tr46": "^4.1.1", "webidl-conversions": "^7.0.0" } + }, + "winston": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.15.0.tgz", + "integrity": "sha512-RhruH2Cj0bV0WgNL+lOfoUBI4DVfdUNjVnJGVovWZmrcKtrFTTRzgXYK2O9cymSGjrERCtaAeHwMNnUWXlwZow==", + "requires": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.6.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + } + }, + "winston-transport": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.8.0.tgz", + "integrity": "sha512-qxSTKswC6llEMZKgCQdaWgDuMJQnhuvF5f2Nk3SNXc4byfQ+voo2mX1Px9dkNOuR8p0KAjfPG29PuYUSIb+vSA==", + "requires": { + "logform": "^2.6.1", + "readable-stream": "^4.5.2", + "triple-beam": "^1.3.0" + }, + "dependencies": { + "readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "requires": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + } + } } } } diff --git a/backend/package.json b/backend/package.json index 1b0f9270..b5d22182 100644 --- a/backend/package.json +++ b/backend/package.json @@ -18,6 +18,7 @@ "http-status-codes": "^2.2.0", "jsonwebtoken": "^9.0.2", "mongoose": "^8.4.4", - "nodemon": "^2.0.22" + "nodemon": "^2.0.22", + "winston": "^3.15.0" } } diff --git a/index.html b/index.html index ff3f735a..e91c8e4c 100644 --- a/index.html +++ b/index.html @@ -82,6 +82,9 @@ } From 95ba266a4e20a89faca4c42047ddb60f555df0c3 Mon Sep 17 00:00:00 2001 From: Adithya S Nair Date: Fri, 18 Oct 2024 20:03:56 +0530 Subject: [PATCH 04/23] Solved name validation --- newLogin.html | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/newLogin.html b/newLogin.html index eb6e528a..a868a02c 100644 --- a/newLogin.html +++ b/newLogin.html @@ -139,6 +139,15 @@

Start your
journey now

validateForm("register"); }); + //Form validation for registration name + document.getElementById("registerName").addEventListener("keypress", function (event) { + var char = String.fromCharCode(event.which); + if (!(/[a-zA-Z]/.test(char))) { + event.preventDefault(); + } + }); + + document.getElementById("loginForm").addEventListener("submit", function (event) { event.preventDefault(); validateForm("login"); From 2551cec7cd5ab6a5b7abe0360c9a6bd86f1a646d Mon Sep 17 00:00:00 2001 From: parthshukla Date: Sun, 20 Oct 2024 02:15:44 +0530 Subject: [PATCH 05/23] new commit --- backend/src/controllers/user-controller.js | 42 ++++++++++++---------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/backend/src/controllers/user-controller.js b/backend/src/controllers/user-controller.js index c06301c4..c36b150d 100644 --- a/backend/src/controllers/user-controller.js +++ b/backend/src/controllers/user-controller.js @@ -1,9 +1,9 @@ const { StatusCodes } = require('http-status-codes'); -const bcryptjs = require('bcryptjs'); +const bcrypt = require('bcrypt'); // Changed from bcryptjs to bcrypt const User = require('../models/User'); -// const Trip = require('../models/Location'); const jwt = require('jsonwebtoken'); const { ServerConfig } = require('../config/index'); + const signup = async (req, res) => { try { const { name, email, password, role } = req.body; @@ -23,7 +23,11 @@ const signup = async (req, res) => { }); } - let hashedPassword = await bcryptjs.hash(password, 10); + // Generate a salt and hash the password + const saltRounds = 12; // Increased from 10 to 12 for better security + const salt = await bcrypt.genSalt(saltRounds); + const hashedPassword = await bcrypt.hash(password, salt); + const newUser = await User.create({ name: name, email: email, @@ -63,7 +67,7 @@ const login = async (req, res) => { }); } - const isPasswordCorrect = await bcryptjs.compare(password, user.password); + const isPasswordCorrect = await bcrypt.compare(password, user.password); if (!isPasswordCorrect) { return res.status(StatusCodes.UNAUTHORIZED).json({ success: false, @@ -73,11 +77,17 @@ const login = async (req, res) => { const accessToken = jwt.sign({ userId: user._id }, ServerConfig.JWT_KEY, { subject: 'accessApi', expiresIn: ServerConfig.TOKEN_EXP }); - res.cookie('access_token', accessToken, { httpOnly: true, maxAge:3600000 }); + res.cookie('access_token', accessToken, { + httpOnly: true, + secure: process.env.NODE_ENV === 'production', // Only send cookie over HTTPS in production + sameSite: 'strict', // Protect against CSRF + maxAge: 3600000 // 1 hour + }); + return res.status(StatusCodes.OK).json({ success: true, message: "Login successful", - id:user._id, + id: user._id, }); } catch (err) { return res.status(StatusCodes.INTERNAL_SERVER_ERROR).json({ @@ -87,22 +97,19 @@ const login = async (req, res) => { } }; -const logout = async (req,res)=>{ - try{ +const logout = async (req, res) => { + try { res.clearCookie('access_token'); res.status(StatusCodes.NO_CONTENT).json({ - message:"user logged out succesfully" - }) - } - catch (err) { + message: "User logged out successfully" + }); + } catch (err) { return res.status(StatusCodes.INTERNAL_SERVER_ERROR).json({ success: false, message: err.message }); } - -} - +}; const AdminSection = async (req, res) => { try { @@ -137,8 +144,7 @@ const deleteAllUsers = async (req, res) => { module.exports = { signup: signup, login: login, - logout:logout, + logout: logout, AdminSection: AdminSection, deleteAllUsers: deleteAllUsers -}; - \ No newline at end of file +}; \ No newline at end of file From 513b7d45fbd47d2959cab7d856084260a36efe02 Mon Sep 17 00:00:00 2001 From: Ananya Vastare <116643029+Ananya-vastare@users.noreply.github.com> Date: Sun, 20 Oct 2024 09:55:58 +0530 Subject: [PATCH 06/23] Added new features --- trending.css | 445 ++++++++++++++++++++++---------------------------- trending.html | 132 +++++++-------- 2 files changed, 260 insertions(+), 317 deletions(-) diff --git a/trending.css b/trending.css index 247de9eb..9cc271ae 100644 --- a/trending.css +++ b/trending.css @@ -1,11 +1,27 @@ -div.niha{ +div.niha { + - width: 500px; border: 2px solid rgb(151, 228, 240); display: inline-block; color: rgb(151, 228, 240); font-size: small; } + +body { + background-color: lightskyblue; +} + +.headingfonts { + font-family: "Open Sans", sans-serif; + font-optical-sizing: auto; + font-weight: 40px; + font-style: normal; + font-variation-settings: + "wdth" 100; + text-align: center; +} + + /* Typing Effect CSS */ /* @keyframes typing { @@ -18,7 +34,7 @@ div.niha{ 50% { border-color: transparent; } } */ -#heading2{ +#heading2 { font-family: 'Courier New', Courier, monospace; font-size: 2em; color: #d6cece; @@ -32,52 +48,6 @@ div.niha{ } -#container { - color: rgb(8, 9, 10); - text-align: center; - width: 1240px; - height: 450px; - display: flex; - flex-direction: row; - margin-left: 150px; - margin-right: 120px; - margin-top: 90px; - margin-bottom: 110px; - align-content: center; - -} - - -#button1 { - color: black; - margin: 18px 18px 50px 540px; - transition: 1s; - border: none; - background-color:#C07F00; - padding: 13px 15px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 16px; - font-size: large; - font-weight: bold; - border-radius: 20px ; - cursor: pointer; - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - - -} - -#button1:hover { - background: #C07F00; - box-shadow: 0 0 90px#C07F00 - /* transform: scale(1.3); */ -} - -a { - text-decoration: none; - color: rgb(94, 4, 4); -} #heading2 { color: #36fe9a; @@ -88,229 +58,198 @@ a { } - -#container2 { +.buttons { + background: linear-gradient(135deg, #007BFF, #1E90FF); + /* Gradient blue background */ + color: white; + /* Text color */ + border-radius: 30px; + /* Softer, more elegant rounded corners */ + text-decoration: none; + /* Remove underline */ + width: 120px; + /* Increased width for better readability */ + height: 40px; + /* Increased height */ + font-family: Georgia, 'Times New Roman', Times, serif; + /* Classic font */ + font-size: 16px; + /* Slightly larger text for better readability */ + font-weight: bold; + /* Make text bold */ text-align: center; - /* width: 1360px; */ - width: 1159px; - height: 500px; - display: flex; - flex-direction: row; - margin-left: 40px; - margin-right: 40px; - margin-top:5px; - margin-bottom: 110px; - box-sizing:border-box; - border: 10 solid rgb(255, 130, 130); - /* align-items:center; */ - justify-content:space-between; + /* Center text horizontally */ + line-height: 40px; + /* Center text vertically */ + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + /* Soft shadow for depth */ + cursor: pointer; + /* Pointer on hover */ + margin: 10px; + /* Add spacing around button */ +} + +/* Hover effect */ +.buttons:hover { + background: linear-gradient(135deg, #1E90FF, #007BFF); + /* Reverse gradient on hover */ + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); + /* Deeper shadow on hover */ + transform: translateY(-3px); + /* Slight lift on hover */ +} + +/* Active effect (when button is clicked) */ +.buttons:active { + background: linear-gradient(135deg, #0056b3, #004080); + /* Darker gradient on click */ + transform: translateY(0); + /* Reset lift on click */ + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + /* Slightly reduced shadow */ +} + +.buttons a { + color: white; + /* Change link text color */ + text-decoration: none; + /* Remove underline from link */ + display: block; + /* Make the link a block element to fill the button */ + width: 100%; + /* Make link fill the button width */ + height: 100%; + /* Make link fill the button height */ + text-align: center; + /* Center text */ } -#box5 { - background-image: url("https://www.pariaoutdoorproducts.com/cdn/shop/articles/Kesugi_Ridge_Trail.jpg?v=1483048098"); - background-size: cover; - font-size: 20px; - font-weight: bold; - border-radius: 20px; - margin-right: 10px; - position: relative; - border: 2px solid rgb(206, 9, 6); - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - +.buttons:hover { + background-color: black; + color: white; } -#box5:hover { - transform: scale(1.1); - border: 3px solid rgb(206, 9, 6); - transition: 0.9s; - box-shadow: rgb(206, 9, 6); - -} -#box6 { - background-image: url("https://plutoniclove.files.wordpress.com/2019/03/39223328504_a7dc3c9054_o.jpg?w=1280"); +.bottom-background { + position: fixed; + top: 0; + bottom: 0%; + left: 0%; + width: 100%; + height: 100%; + /* Adjust height as needed */ + /* background-image: url(""); */ + /* Your moving background image */ background-size: cover; - font-size: 20px; - font-weight: bold; - border-radius: 20px; - margin-right: 10px; - margin-left: 10px; - position: relative; - top: 45px; - border: 2px solid rgb(206, 9, 6); - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - - -} - -#box6:hover { - transform: scale(1.1); - border: 5px solid rgb(206, 9, 6); - transition: 0.9s; - + background-repeat: no-repeat; + z-index: -1; + /* Ensure it stays behind other content */ + right: 0%; } -#box7 { - background-image: url("https://cdn.bookatrekking.com/data/images/2020/06/shutterstock-1013024953.jpg"); - background-size: cover; - font-size: 20px; - font-weight: bold; - border-radius: 20px; - margin-right: 10px; - margin-left: 10px; - position: relative; - top: 80px; - text-align: center; - border: 2px solid rgb(206, 9, 6); - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - - - +.card-container { + display: flex; + overflow-x: auto; + padding: 16px; + gap: 16px; + overflow-x: hidden; + /* Hides horizontal scrollbar */ -} -#box7:hover { - transform: scale(1.1); - border: 5px solid rgb(206, 9, 6); - transition: 0.9s; - } -#box8 { - background-image: url("https://media.cntraveler.com/photos/643d5d0a5722b1af03793a06/16:9/w_2560%2Cc_limit/Dal%2520Lake_GettyImages-1323846766.jpg"); - background-size: cover; - font-size: 20px; - font-weight: bold; - border-radius: 20px; - margin-right: 13px; - margin-left: 13px; - position: relative; - top: 45px; - border: 2px solid rgb(206, 9, 6); - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - - - +.cards { + flex: 0 1 50px; + /* Ensure each card has a base width of 350px */ + margin: 8px; + /* Add some space around each card */ + border: 1px solid #eaeaea; + /* Border for the card */ + border-radius: 8px; + /* Rounded corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + /* Shadow for depth */ + background-color: white; } -#box8:hover { - transform: scale(1.1); - border: 5px solid rgb(206, 9, 6); - transition: 0.9s; +.cards:hover { + background: linear-gradient(to bottom, blue, white); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4); } -#box9 { - background-image: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRPF21UstFZ23Hy_Kfnad_8zlAcnMohJLuoBg&s"); - background-size: cover; - font-size: 20px; - font-weight: bold; - border-radius: 20px; - margin-right: 10px; - margin-left: 10px; - position: relative; - border: 2px solid rgb(206, 9, 6); - box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px, rgba(255, 255, 255, 1) 0px 0px 10px; - +.card-image { + border: 1px solid #eaeaea; + /* Card border */ + border-radius: 8px; + /* Rounded corners */ + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + /* Shadow for depth */ + overflow: hidden; + /* Prevent overflow */ } -#box9:hover { - transform: scale(1.1); - border: 5px solid rgb(206, 9, 6); - transition: 0.9s; - -} -#text1{ - color: #c84d4d; - align-content: center; - padding-top: 10%; -} -#text2{ - color: #c84d4d; - padding-top: 10%; -} -#text3{ - color: #c84d4d; - padding-top: 10%; -} -#text4{ - color:#c84d4d; - padding-top: 10%; -} -#text0{ - color: #c84d4d; - padding-top: 10%; -} -p{ - color: #c84d4d; -} -#pre{ - text-align: center; -} -.bottom-background { +/* Button container for centering at the bottom */ +.button-container { + display: flex; + justify-content: center; + /* Center horizontally */ + align-items: flex-end; + /* Align button at the bottom */ position: fixed; - top:0; - bottom: 0%; - left: 0%; + bottom: 20px; + /* Distance from the bottom */ + left: 0; + right: 0; width: 100%; - height: 100%; /* Adjust height as needed */ - background-image: url("img/trendingbg.mp4"); /* Your moving background image */ - background-size: cover; - background-repeat: no-repeat; - z-index: -1; /* Ensure it stays behind other content */ - right:0%; -} -pre{ - text-align: center; - color: #c84d4d; - -} -.golden-button { - position: absolute; - bottom: 30px; /* Adjust as needed */ - left: 20%; - text-align: center; - touch-action: manipulation; - display: inline-block; - outline: none; - font-family: inherit; - font-size: 1em; - box-sizing: border-box; - border: none; - border-radius: 0.3em; - height: 2em; - line-height: 2.5em; - text-transform: uppercase; - padding: 0 1em; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(110, 80, 20, 0.4), - inset 0 -2px 5px 1px rgba(139, 66, 8, 1), - inset 0 -1px 1px 3px rgba(250, 227, 133, 1); - background-image: linear-gradient( - 160deg, - #a54e07, - #b47e11, - #fef1a2, - #bc881b, - #a54e07 - ); - border: 1px solid #a55d07; - color: rgb(120, 50, 5); - text-shadow: 0 2px 2px rgba(250, 227, 133, 1); + /* Ensure it spans the entire width */ + padding: 10px; +} + +.button1 { + display: inline-flex; + justify-content: center; + align-items: center; + height: 50px; + /* Button height */ + width: 200px; + /* Button width */ cursor: pointer; - transition: all 0.2s ease-in-out; - background-size: 100% 100%; - background-position: center; - } - - .golden-button:focus, - .golden-button:hover { - background-size: 150% 150%; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23), - inset 0 -2px 5px 1px #b17d10, inset 0 -1px 1px 3px rgba(250, 227, 133, 1); - border: 1px solid rgba(165, 93, 7, 0.6); - color: rgba(120, 50, 5, 0.8); - } - - .golden-button:active { - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(110, 80, 20, 0.4), - inset 0 -2px 5px 1px #b17d10, inset 0 -1px 1px 3px rgba(250, 227, 133, 1); - } \ No newline at end of file + /* Pointer on hover */ + background: linear-gradient(45deg, #36fe9a, #28a745); + /* Gradient color */ + color: white; + /* Text color */ + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2); + /* More prominent shadow */ + border: none; + /* Remove border */ + border-radius: 50px; + /* Rounded button */ + margin: 0 auto; + /* Centering in the flex container */ + font-size: 1.1em; + font-weight: bold; +} + +/* Make sure anchor tag inside button matches style */ +.button1 a { + text-decoration: none; + color: white; + /* Ensures link text is white */ + display: flex; + align-items: center; + justify-content: center; + width: 100%; + /* Fill the entire button */ + height: 100%; +} + +/* Hover effect */ +.button1:hover { + background: linear-gradient(45deg, #28a745, #36fe9a); + /* Reverse gradient on hover */ + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4); + /* Deepen the shadow */ + transform: translateY(-3px); + /* Lift the button slightly */ +} \ No newline at end of file diff --git a/trending.html b/trending.html index 7de50f62..b7ea6eba 100644 --- a/trending.html +++ b/trending.html @@ -1,81 +1,85 @@ + TRENDING DESTINATIONS + + +
- -
-

TRENDING TOURS

-
Explore the world with confidence through our selection popular tours crafted for those seek
-                a perfect blend of discovery and relaxation."
-    
-
-
-

The Kesugi Ridge Trail

- - - - - - BLOG PAGE - -
-
-

Kepler Track

- - - -
- - - BLOG PAGE -
-
-
-

Du Mont Blanc

- - - -
- - - BLOG PAGE -
+
+
+

TRENDING TOURS

+
Explore the world with confidence through our selection
+            popular tours crafted for those seek
+            a perfect blend of discovery and relaxation."
+            
+ +
+
+
+
+ Placeholder image +
+

The Kesugi Ridge Trail

+
-
-

Kashmir

- - - -
- - - BLOG PAGE -
+
+
+
+ Placeholder image +
+

Kepler Track

+
-
-

Varanasi

- - - -
- - - BLOG PAGE -
+
+
+
+ Placeholder image +
+

Du Mont Blanc

+
+
+
+
+ Placeholder image +
+

Kashmir

+
- -
+
+
+ Placeholder image +
+

Varanasi

+ +
+
+ + \ No newline at end of file From d66c3d865fe5437d7810dc97f90da31fa7fe6c9b Mon Sep 17 00:00:00 2001 From: siddharth A Date: Sun, 20 Oct 2024 09:57:26 +0530 Subject: [PATCH 07/23] included nav bar in top deals --- topdeals/topdeals.html | 180 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 178 insertions(+), 2 deletions(-) diff --git a/topdeals/topdeals.html b/topdeals/topdeals.html index 2d415bdd..312ed13b 100644 --- a/topdeals/topdeals.html +++ b/topdeals/topdeals.html @@ -96,14 +96,190 @@ .book-now a:hover { background-color: #ff787d; } + /* navbar styles */ + body { + margin: 0; + font-family: Arial, sans-serif; +} + +.nav-container { + height: auto; + width: 100%; + display: flex; + justify-content: flex-start; + align-items: center; + position: fixed; + top: 0; + left: 0; + z-index: 9999; + background-color: #0a1e3f; + padding: 1rem 1rem; +} + +.newNav { + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; +} + +.logo-container { + display: flex; + align-items: center; +} + +.sitelogo { + width: 40px; + height: auto; +} + +.nav__logo { + color: #ffffff; + text-decoration: none; + font-size: 24px; + margin-left: 10px; +} + +.navLinks { + display: flex; + list-style: none; + padding: 0; + gap: 1.2rem; + white-space: nowrap; +} + +.navLinks .link { + position: relative; +} + +.navLinks a { + color: #ffffff; + text-decoration: none; + padding: 10px 15px; + transition: background-color 0.3s ease, color 0.3s ease; +} + +.navLinks a:hover { + background-color: rgba(238, 130, 238, 0.8); + color: #ff6347; +} + +.active { + color: red !important; +} + +.dropdown-menu { + display: none; + position: absolute; + top: 100%; + background-color: #1f2532; + z-index: 999; + padding: 10px; +} + +.dropdown:hover .dropdown-menu { + display: block; +} + +.btn { + background-color: #ff6347; + color: white; + border: none; + padding: 10px 15px; + cursor: pointer; + border-radius: 40px; + transition: background-color 0.3s ease; +} + +.btn:hover { + background-color: #ff4500; +} + +.hamburger { + display: none; +} + +.line { + height: 3px; + width: 25px; + background-color: white; + margin: 4px 0; +} + +@media (max-width: 768px) { + .navLinks { + display: none; + flex-direction: column; + width: 100%; + position: absolute; + top: 60px; + left: 0; + background-color: #0a1e3f; + } + + .navLinks.active { + display: flex; + } + + .hamburger { + display: block; + } +} + + +
-

Top deals

-

"Don’t miss out on our exclusive top deals of the season! Whether you’re looking to upgrade your tech, refresh your wardrobe, or find the perfect gift, we’ve got you covered with unbeatable discounts across all categories. "

+



+

"Don’t miss out on our exclusive top deals of the season! Whether you’re looking to upgrade your tech, refresh your wardrobe, or find the perfect gift, we’ve got you covered with unbeatable discounts across all categories. "

From 8af6cace71a941c6377a1c5884d7a531214f1771 Mon Sep 17 00:00:00 2001 From: Neeru <161798182+neeru24@users.noreply.github.com> Date: Sun, 20 Oct 2024 12:06:43 +0530 Subject: [PATCH 08/23] Update README.md --- README.md | 72 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 3a49a5e7..e295ed35 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ #

✨Travel Website✨

-

- -
+
+

+ Typing SVG +

+
![image](https://github.com/avanimathur/Travel_Website/assets/151984867/1024d506-92c6-4b35-a4ab-2d4eaca78199) @@ -33,11 +35,13 @@
+ +

Table of Contents🧾

- [Overview📌](#overview) -- [Features](#features) +- [Features🌟](#features) - [Technology Used🚀](#technology-used) - [Open-Source-Programmes⭐](#open-source-programmes) - [Getting Started💥](#getting-started) @@ -46,6 +50,8 @@ - [Project Admin⚡](#project-admin) - [Contributing is fun🧡](#contributing-is-fun)
+ +

Overview📌

This repository contains my project on a Travel Website✈️ using HTML, CSS and JavaScript. It features a landing page for a travel tour company website. Finding the perfect travel destination can be a challenge. This project aims to streamline that process🚤. We welcome all contributions to make this a fantastic resource for travelers. Jump in and contribute to this grand project! Read the guidelines📚 and get started building!

@@ -57,24 +63,36 @@ Check out the live project [here](https://apu52.github.io/Travel_Website/).

Live Demo

+ + + +## Features🌟 + +- **🌐 Introductory Page**: + Welcomes visitors with an engaging introductory page that highlights the essence of our travel website and sets the tone for exploration. + +- **📍 Top Destination Page**: + Showcases top travel destinations with captivating imagery, detailed descriptions, and essential information to inspire and inform visitors. + +- **✈️ Best Trip Packages**: + Presents the best trip packages tailored to different interests and budgets, complete with itinerary details, pricing, and booking options for seamless travel planning. -

Features

+- **📸 Our Trip Gallery**: + Curates a visually stunning gallery showcasing memorable moments and experiences from our trips, enticing visitors to embark on their own adventures. Includes interactive features such as user comments. -- **Introductory Page**: Welcomes visitors with an engaging introductory page that highlights the essence of our travel website and sets the tone for exploration. -- **Top Destination Page**: Showcases top travel destinations with captivating imagery, detailed descriptions, and essential information to inspire and inform visitors. -- **Best Trip Packages**: Presents the best trip packages tailored to different interests and budgets, complete with itinerary details, pricing, and booking options for seamless travel planning. -- **Our Trip Gallery**: Curates a visually stunning gallery showcasing memorable moments and experiences from our trips, enticing visitors to embark on their own adventures. Includes interactive features such as user comments. -- **Contact Us Page**: Provides a user-friendly contact page with essential contact information inquiry forms, and interactive maps for visitors to reach out and engage with our travel company effortlessly. +- **📞 Contact Us Page**: + Provides a user-friendly contact page with essential contact information, inquiry forms, and interactive maps for visitors to reach out and engage with our travel company effortlessly. + + +

Technology Used🚀

-

- HTML - CSS - js -

+

Back To Top

+ +

Open-Source-Programmes⭐

@@ -98,6 +116,10 @@ Check out the live project [here](https://apu52.github.io/Travel_Website/).
JWOC
+ + + +

Getting Started💥

Local Installation video

@@ -184,10 +206,14 @@ git push origin YourBranchName **Congratulations! You've made your first contribution! 🙌🏼**

Back To Top

+ + +

Contributing Guidelines📑

To learn about our development process, how to propose bug fixes and improvements of our project please read our [Contributing Guidelines.](https://github.com/apu52/Travel_Website/blob/main/CONTRIBUTING.md) +

Code Of Conduct📑

This project and everyone participating in it are governed by the [Code of Conduct](https://github.com/apu52/Travel_Website/blob/main/Code_of_conduct.md). By participating, you are expected to uphold this code. @@ -200,7 +226,10 @@ Show some ❤️  by giving
- + + + + ## Project Mentor @@ -219,7 +248,9 @@ Show some ❤️  by giving
- + + + # Project Admin⚡ @@ -234,12 +265,16 @@ Show some ❤️  by giving + + ## Contributing is fun🧡

+ + ## Acknowledgements @@ -254,6 +289,9 @@ Thank you to all the amazing contributors who have made this project possible!

+ + + ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details. From 687921ee5ee39476afd72cf80c4d0e12256a9d18 Mon Sep 17 00:00:00 2001 From: srishti Date: Sun, 20 Oct 2024 13:32:06 +0530 Subject: [PATCH 09/23] update --- index.html | 273 +++++++++++++++-------------------------------------- 1 file changed, 75 insertions(+), 198 deletions(-) diff --git a/index.html b/index.html index ff3f735a..072fb07f 100644 --- a/index.html +++ b/index.html @@ -1466,218 +1466,95 @@

+

Testimonials

-
-
-
-
- Broccoli -
-
-

TourGuide made our dream vacation a reality! From the - breathtaking landscapes to the seamless logistics, every moment was a new adventure. The - personalized - itinerary and expert guides added a special touch to our journey. We can't wait to book our next - trip with - TourGuide!

-
+ + @@ -207,12 +250,15 @@ +

Plan a Trip

- +
+ +
@@ -238,6 +284,7 @@

Plan a Trip

+

Trip Suggestions

- - - - - - - - diff --git a/loginPage.css b/loginPage.css deleted file mode 100644 index 2869feba..00000000 --- a/loginPage.css +++ /dev/null @@ -1,161 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap"); -@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap"); - -* { - margin: 0; - padding: 0; - box-sizing: border-box; - font-family: "Roboto", sans-serif; - font-weight: 500; - font-style: normal; -} -.main-container { - min-height: 100vh; - min-width: 100vw; - background-image: url("./img/img1.jpeg"); - background-position: center; - background-size: cover; - background-repeat: no-repeat; - display: flex; - justify-content: center; - align-items: center; -} - -.form-container { - display: flex; - gap: 2rem; - justify-content: center; - align-items: center; - color: white; - backdrop-filter: blur(8px); - padding: 2rem 1rem; - background-color: rgba(44, 57, 104, 0.2); - border-radius: 20px; -} -.content { - display: flex; - flex-direction: column; - gap: 2rem; - justify-content: center; - align-items: center; - padding: 2rem 0; - font-weight: 600; - flex-wrap: wrap; -} - -.content h1 { - font-weight: 700; - font-size: 3rem; - text-shadow: 0px 0px 20px #010618, 0px 0px 40px #010618; - text-align: center; - position: relative; -} -.content p { - width: 100%; - font-size: 1.5rem; - color: white; - opacity: 1; - font-weight: 600; - text-shadow: 0px 0px 20px #010618, 0px 0px 40px #010618; - text-align: center; -} -text{ - color:aquamarine -} -.register-link { - font-weight: bold; - color: white; - text-decoration: none; - transition: color 0.2s ease-in-out; -} - -.register-link:hover { - color: #f39c12; /* Change to your desired hover color */ -} -.passForget{ - color: rgb(234, 35, 35); - font-weight: bold; - - -} - -.content button { - font-size: 1.5rem; - padding: 1rem 2rem; - border-radius: 0.5rem; - border: none; - background: linear-gradient( - 109.6deg, - rgb(5, 85, 84) 11.2%, - rgb(64, 224, 208) 91.1% - ); - color: white; - font-weight: 700; - box-shadow: 0px 0px 10px rgb(10, 64, 88); - transition: all 0.2s ease-in-out; - letter-spacing: 1.1px; -} - -.content button:hover { - transform: scale(1.02); - box-shadow: 0px 0px 10px rgb(10, 64, 88), 0px 0px 20px rgb(10, 64, 88), - 0px 0px 30px rgb(10, 64, 88); - transition: all 0.2s ease-in-out; -} -form { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - gap: 1rem; -} - -form > input { - font-size: 1.3rem; - padding: 0.5rem 0.5rem; - width: 20rem; - background: transparent; - border: 2px solid white; - border-radius: 6px; - color: white; - transition: outline 0.2s ease-in-out; - outline: none; -} - -form > input::placeholder { - color: white; -} - -form > input:focus { - outline: 3px solid #010618; - transition: outline 0.2s ease-in-out; - border: none; -} - -@media screen and (max-width: 815px) { - .form-container { - flex-direction: column; - } - - .content { - box-shadow: 0px 0px 20px #010618, 0px 0px 40px #010618; - padding: 2rem 0rem; - border-radius: 10px; - } -} - -@media screen and (max-width: 510px) { - .content h1 { - font-size: 2rem; - } - - .content p { - width: 50%; - } -} -form>input { - font-size: 1rem; - padding: 0.5rem 0.5rem; - width: 14rem; - background: transparent; - } diff --git a/loginPage.html b/loginPage.html deleted file mode 100644 index d9542c98..00000000 --- a/loginPage.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - Login Page - - - - - -
-
-
-

Welcome Back !

-

Login with your personal information.

-
- - - - -
Forgot your password?
- Don't have an account? Please Register here. -
-
-
- -
- - - - \ No newline at end of file From 498493338b2a4b8fafe18f3e9e432053144eb9b5 Mon Sep 17 00:00:00 2001 From: Vaibhav <147196315+CharVaibhav@users.noreply.github.com> Date: Sun, 20 Oct 2024 14:38:25 +0530 Subject: [PATCH 12/23] #1431 Added missing favicon to html pages below: 1. 404 2. about 3. contributors 4. HoneyMoon 5. Licensing 6. newLogin 7. packages 8. Signup 9. thankyou 10. tnc 11. topdeal --- 404.html | 1 + HoneyMoon.html | 1 + Licensing.html | 1 + Signup.html | 1 + about.html | 1 + contributors.html | 1 + newLogin.html | 1 + packages.html | 1 + thankyou.html | 1 + tnc.html | 1 + topdeals/topdeals.html | 1 + 11 files changed, 11 insertions(+) diff --git a/404.html b/404.html index f2f4c22f..2fa005bb 100644 --- a/404.html +++ b/404.html @@ -3,6 +3,7 @@ + Error Page not found diff --git a/HoneyMoon.html b/HoneyMoon.html index 8a95f1b6..cb29c857 100644 --- a/HoneyMoon.html +++ b/HoneyMoon.html @@ -9,6 +9,7 @@ + + + + @@ -79,6 +82,12 @@