88- [ NodeJS] ( https://nodejs.org/en/ )
99- [ Express.js] ( https://expressjs.com/ )
1010- [ MongoDB] ( https://www.mongodb.com/ )
11- - [ npm] ( https://www.npmjs.com/ )
12- <i >The following npm packages</i >
13- - [ dotenv] ( https://github.com/motdotla/dotenv )
14- - [ nodemon] ( https://www.npmjs.com/package/nodemon )
15- - [ Express] ( https://expressjs.com/ )
16- - [ mongoose] ( https://www.npmjs.com/package/mongoose )
17- - [ deepl node] ( https://www.npmjs.com/package/deepl-node )
18-
19- - Frontend hosted on [ Vercel] ( https://www.vercel.com/ )
20- - Backend hosted on [ Render] ( https://www.render.com/ )
11+ - [ yarn] ( https://yarnpkg.com/ )
12+ ##### <i > The following yarn packages:</i >
13+ - <strong ><i >Client Side</i ></strong >
14+ - [ sass] ( https://yarnpkg.com/?q=sass&p=1 )
15+ - [ google-map-react] ( https://yarnpkg.com/package/google-map-react )
16+ - [ rsuite] ( https://yarnpkg.com/package/rsuite )
17+ - [ vite-plugin-pages] ( https://yarnpkg.com/package/vite-plugin-pages )
18+ - [ react-dom] ( https://www.yarnpkg.com/package/react-dom )
19+ - [ react-router-dom] ( https://www.yarnpkg.com/package/react-router-dom )
20+ - [ axios] ( https://www.yarnpkg.com/package/axios )
21+ - [ markdown-it] ( https://www.yarnpkg.com/package/markdown-it )
22+ - <strong ><i >Server Side</i ></strong >
23+ - [ dotenv] ( https://yarnpkg.com/package/dotenv )
24+ - [ nodemon] ( https://www.yarnpkg.com/package/nodemon )
25+ - [ express] ( https://yarnpkg.com/package/express )
26+ - [ mongoose] ( https://www.yarnpkg.com/package/mongoose )
27+ - [ axios] ( https://www.yarnpkg.com/package/axios )
28+ - [ deepl node] ( https://www.yarnpkg.com/package/deepl-node )
29+
30+ <br />
31+
32+ - Client hosted on [ Vercel] ( https://www.vercel.com/ )
33+ - Server hosted on [ Render] ( https://www.render.com/ )
2134
2235## [ The Home Page] ( https://international-data-matrix.vercel.app/ ) -
2336 ###### "Simplistic Design"
@@ -33,9 +46,10 @@ Located top right of the header
3346
3447 - Footer Icons
3548 - [ Home] ( https://international-data-matrix.vercel.app/ )
36- - [ Documentation] ( https://github.com/SchoolyB/International-Data-Matrix#readme )
3749 - [ Translator] ( https://international-data-matrix.vercel.app/Translator )
3850 - [ Contact] ( https://international-data-matrix.vercel.app/Contact )
51+ - [ Map] ( https://international-data-matrix.vercel.app/Map )
52+ - [ Documentation] ( https://github.com/SchoolyB/International-Data-Matrix#readme )
3953
4054### The Search Bar
4155[ Header.tsx] ( https://github.com/SchoolyB/International-Data-Matrix/blob/master/client/src/components/Header.tsx )
@@ -125,7 +139,7 @@ Every country that is currently supported in the International Data Matrix has i
125139## [ The Translator] ( https://international-data-matrix.vercel.app/Translator ) -
126140Built using the [ DeepL] ( https://www.deepl.com/translator ) translator API. *** NOTE THAT CURRENTLY THE ONLY SUPPORTED INPUT LANGUAGE IS ENGLISH***
127141
128- [ translateRoute.js ] ( https://github.com/SchoolyB/International-Data-Matrix/blob/master/server/src/routes/translateRoute.js )
142+ [ translateRoute.ts ] ( https://github.com/SchoolyB/International-Data-Matrix/blob/master/server/src/routes/translateRoute.ts )
129143``` JavaScript
130144const deepl = require (" deepl-node" );
131145app .post (" /translator" , (request , response ) => {
@@ -150,7 +164,7 @@ app.post("/translator", (request, response) => {
150164});
151165```
152166
153- [ App.js ] ( https://github.com/SchoolyB/International-Data-Matrix/blob/master/server/src/app.js )
167+ [ App.ts ] ( https://github.com/SchoolyB/International-Data-Matrix/blob/master/server/src/app.ts )
154168
155169``` JavaScript
156170const deepl = require (" deepl-node" );
@@ -186,4 +200,30 @@ This simple contact page allows users to submit their feedback that will then be
186200 <input class =" contactInput" type =" text" name = " name" placeholder =" Enter your name" ></input >
187201 </label >
188202```
203+ ## [ The Map Page] ( https://international-data-matrix.vercel.app/Map ) -
204+
205+ Builds map using the Google Maps API and the [ google-map-react] ( https://www.npmjs.com/package/google-map-react ) package
189206
207+ ``` JSX
208+
209+ const map = () => {
210+ const { isLoaded } = useLoadScript ({
211+ googleMapsApiKey: ` ${ mapKey} ` || ' ' ,
212+ })
213+ const center = useMemo (() => ({ lat: 0 , lng: 0 }), [])
214+
215+ return (
216+ < div className= " map" >
217+ {! isLoaded ? (
218+ < h1 id= " mapLoading" > Loading... < / h1>
219+ ) : (
220+ < GoogleMap
221+ mapContainerClassName= " map-container"
222+ center= {center}
223+ zoom= {3.5 }
224+ >< / GoogleMap>
225+ )}
226+ < / div>
227+ )
228+ }
229+ ```
0 commit comments