From 2ad43139defd3a5f1c311f8281db7c3a1dd23679 Mon Sep 17 00:00:00 2001 From: Joaquin Date: Wed, 7 May 2025 13:06:22 -0700 Subject: [PATCH] merged dev and added some challenge 1 functionality --- .vscode/settings.json | 4 + app.js | 2 - src/public/scripts/geolocation.js | 4 +- src/public/scripts/header.js | 0 src/public/svgs/assets.svg | 4 + src/public/svgs/dashboard.svg | 3 + src/public/svgs/flags/AUD.svg | 8 + src/public/svgs/flags/BRL.svg | 45 ++++ src/public/svgs/flags/CAD.svg | 4 + src/public/svgs/flags/CNY.svg | 11 + src/public/svgs/flags/GBP.svg | 7 + src/public/svgs/flags/INR.svg | 25 ++ src/public/svgs/flags/JPY.svg | 11 + src/public/svgs/flags/MXN.svg | 382 +++++++++++++++++++++++++++++ src/public/svgs/flags/RUB.svg | 5 + src/public/svgs/flags/USD.svg | 9 + src/public/svgs/more.svg | 3 + src/public/svgs/plans.svg | 3 + src/router/user.js | 8 +- src/util/exchangeRate.js | 2 +- src/views/dashboard.ejs | 184 +++++++------- src/views/home.ejs | 16 -- src/views/partials/fileHeader.ejs | 2 +- src/views/partials/footer.ejs | 2 +- src/views/partials/header.ejs | 28 ++- src/views/partials/headerStart.ejs | 2 +- src/views/partials/navBar.ejs | 17 +- 27 files changed, 656 insertions(+), 135 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 src/public/scripts/header.js create mode 100644 src/public/svgs/assets.svg create mode 100644 src/public/svgs/dashboard.svg create mode 100644 src/public/svgs/flags/AUD.svg create mode 100644 src/public/svgs/flags/BRL.svg create mode 100644 src/public/svgs/flags/CAD.svg create mode 100644 src/public/svgs/flags/CNY.svg create mode 100644 src/public/svgs/flags/GBP.svg create mode 100644 src/public/svgs/flags/INR.svg create mode 100644 src/public/svgs/flags/JPY.svg create mode 100644 src/public/svgs/flags/MXN.svg create mode 100644 src/public/svgs/flags/RUB.svg create mode 100644 src/public/svgs/flags/USD.svg create mode 100644 src/public/svgs/more.svg create mode 100644 src/public/svgs/plans.svg delete mode 100644 src/views/home.ejs diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c8a7ed4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "editor.fontFamily": "Monocraft", + "editor.fontLigatures": true +} \ No newline at end of file diff --git a/app.js b/app.js index fc5dbb2..1945cac 100644 --- a/app.js +++ b/app.js @@ -33,14 +33,12 @@ app.use(express.json()); const { connectMongo, getCollection } = require("./src/database/connection"); let users; -let rates; async function initDatabase() { const db = await connectMongo(mongoURI, database); // For any collection, init here users = await getCollection(db, "users"); plans = await getCollection(db, "plans"); - rates = await getCollection(db, "rates"); } /*** ROUTINGS ***/ diff --git a/src/public/scripts/geolocation.js b/src/public/scripts/geolocation.js index e4a48e2..4bdf42a 100644 --- a/src/public/scripts/geolocation.js +++ b/src/public/scripts/geolocation.js @@ -15,6 +15,4 @@ async function getLatestExchange(position) { function error(err) { console.error("Geolocation error: ", err); -} - -getLocation(); \ No newline at end of file +} \ No newline at end of file diff --git a/src/public/scripts/header.js b/src/public/scripts/header.js new file mode 100644 index 0000000..e69de29 diff --git a/src/public/svgs/assets.svg b/src/public/svgs/assets.svg new file mode 100644 index 0000000..824466d --- /dev/null +++ b/src/public/svgs/assets.svg @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/src/public/svgs/dashboard.svg b/src/public/svgs/dashboard.svg new file mode 100644 index 0000000..e10e231 --- /dev/null +++ b/src/public/svgs/dashboard.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/public/svgs/flags/AUD.svg b/src/public/svgs/flags/AUD.svg new file mode 100644 index 0000000..96e8076 --- /dev/null +++ b/src/public/svgs/flags/AUD.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/public/svgs/flags/BRL.svg b/src/public/svgs/flags/BRL.svg new file mode 100644 index 0000000..fe1d416 --- /dev/null +++ b/src/public/svgs/flags/BRL.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/public/svgs/flags/CAD.svg b/src/public/svgs/flags/CAD.svg new file mode 100644 index 0000000..c9b23b4 --- /dev/null +++ b/src/public/svgs/flags/CAD.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/public/svgs/flags/CNY.svg b/src/public/svgs/flags/CNY.svg new file mode 100644 index 0000000..10d3489 --- /dev/null +++ b/src/public/svgs/flags/CNY.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/svgs/flags/GBP.svg b/src/public/svgs/flags/GBP.svg new file mode 100644 index 0000000..7991383 --- /dev/null +++ b/src/public/svgs/flags/GBP.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/public/svgs/flags/INR.svg b/src/public/svgs/flags/INR.svg new file mode 100644 index 0000000..bc47d74 --- /dev/null +++ b/src/public/svgs/flags/INR.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/public/svgs/flags/JPY.svg b/src/public/svgs/flags/JPY.svg new file mode 100644 index 0000000..cc1c181 --- /dev/null +++ b/src/public/svgs/flags/JPY.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/public/svgs/flags/MXN.svg b/src/public/svgs/flags/MXN.svg new file mode 100644 index 0000000..5a67d62 --- /dev/null +++ b/src/public/svgs/flags/MXN.svg @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/public/svgs/flags/RUB.svg b/src/public/svgs/flags/RUB.svg new file mode 100644 index 0000000..cf24301 --- /dev/null +++ b/src/public/svgs/flags/RUB.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/public/svgs/flags/USD.svg b/src/public/svgs/flags/USD.svg new file mode 100644 index 0000000..9cfd0c9 --- /dev/null +++ b/src/public/svgs/flags/USD.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/public/svgs/more.svg b/src/public/svgs/more.svg new file mode 100644 index 0000000..d0b697f --- /dev/null +++ b/src/public/svgs/more.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/public/svgs/plans.svg b/src/public/svgs/plans.svg new file mode 100644 index 0000000..70fb205 --- /dev/null +++ b/src/public/svgs/plans.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/router/user.js b/src/router/user.js index e5cb2fa..35ef92b 100644 --- a/src/router/user.js +++ b/src/router/user.js @@ -11,7 +11,7 @@ module.exports = (middleware, users, plans) => { router.use(middleware); router.get('/home', async (req, res) => { - res.render('dashboard', { user: req.user }); + res.render('dashboard', { user: req.user, location: req.session.country, countriesRates: req.session.rates }); return res.status(status.Ok); }); @@ -270,8 +270,10 @@ module.exports = (middleware, users, plans) => { const response = await fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${req.params.lat},${req.params.lon}&result_type=country&key=${process.env.geolocation_api}`); const data = await response.json(); - let country = data.results[0].formatted_address; - req.session.rates = await getRates(country); + country = data.results[0].formatted_address; + let results = await getRates(country); + req.session.rates = results.exRates; + req.session.country = results.abbreviation; } return res.status(status.Ok).send({ rates: req.session.rates }); diff --git a/src/util/exchangeRate.js b/src/util/exchangeRate.js index 6313988..2f5658d 100644 --- a/src/util/exchangeRate.js +++ b/src/util/exchangeRate.js @@ -12,7 +12,7 @@ async function getRates(country) { const data = await res.json(); let rates = data.rates; - return rates; + return { exRates: rates, abbreviation: abbr }; } module.exports = getRates; \ No newline at end of file diff --git a/src/views/dashboard.ejs b/src/views/dashboard.ejs index e4c9b36..be866a1 100644 --- a/src/views/dashboard.ejs +++ b/src/views/dashboard.ejs @@ -1,100 +1,98 @@ <%- include("./partials/fileHeader") %> - <%- include("./partials/header") %> +<%- include("./partials/header") %> -
-

Welcome: <%= user.name %>

- -
- - - Create new plan - -
- -
-
- -
- - - -
-

- Retirement goal

-

- $53k

-
-
-

- Make this percent bar or graph or something  than last - week -

-
+
+

Welcome: <%= user.name %>

+ +
+ + Create new plan +
+ +
+
+ +
+ + + +
+

+ Retirement goal

+

+ $53k

-
-
-

- Retirement goal

-

- $53k

-
-
-

- Make this percent bar or graph or something  than last - week -

-
+
+

+ Make this percent bar or graph or something  than lastweek +

+
+
+
+

+ Retirement goal

+

+ $53k

+
+
+

+ Make this percent bar or graph or something  than last + week +

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

- Retirement goal

-

- $53k

-
-
-

- Make this percent bar or graph or something  than last - week -

-
-
-
-
+
+
+

+ Retirement goal

+

+ $53k

+
+
+

+ Make this percent bar or graph or something  than last + week +

+
+
+
-
-
-
+
+
+
+
- <%- include("./partials/navBar") %> - <%- include("./partials/footer") %> + + + +<%- include("./partials/navBar") %> +<%- include("./partials/footer") %> \ No newline at end of file diff --git a/src/views/home.ejs b/src/views/home.ejs deleted file mode 100644 index 8969d97..0000000 --- a/src/views/home.ejs +++ /dev/null @@ -1,16 +0,0 @@ -<%- include("./partials/fileHeader") %> -<%- include("./partials/header") %> - -
- Welcome: <%= user.email %> - The Dashboard Page - <% if(user.authenticated) { %> - <%= user.email %> - <%= user.errMessage %> - <% } %> -
- - - -<%- include("./partials/navBar") %> -<%- include("./partials/footer") %> diff --git a/src/views/partials/fileHeader.ejs b/src/views/partials/fileHeader.ejs index 35b60ed..b15b69c 100644 --- a/src/views/partials/fileHeader.ejs +++ b/src/views/partials/fileHeader.ejs @@ -7,4 +7,4 @@ RCalculator - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/partials/footer.ejs b/src/views/partials/footer.ejs index d72156e..110cbe0 100644 --- a/src/views/partials/footer.ejs +++ b/src/views/partials/footer.ejs @@ -1,6 +1,6 @@