├── .all-contributorsrc
├── .gitignore
├── .npmignore
├── CONTRIBUTING.md
├── Coding-Ai.png
├── LICENSE
├── README.md
├── package.json
├── public
├── favicon.ico
├── index.html
├── manifest.json
├── service-worker.js
└── styles.css
├── readme-translations
├── README-ar.md
├── README-bn.md
├── README-de.md
├── README-dk.md
├── README-es.md
├── README-fr.md
├── README-hi.md
├── README-hu.md
├── README-kr.md
├── README-ms.md
├── README-no.md
├── README-ptbr.md
├── README-ru.md
├── README-swe.md
├── README-ta.md
├── README-th.md
├── README-zh.md
└── README.nl.md
└── src
├── App.js
├── App.test.js
├── assets
├── empty.svg
├── githublogo.png
├── loader.gif
├── mentor-default.png
├── mentor-default.svg
└── mentor.png
├── components
├── About.js
├── Empty.js
├── Filter.js
├── Footer.js
├── Header.js
├── Heart.js
├── Home.js
├── Login.js
├── LoginContainer.js
├── Mentor.js
├── MentorList.js
├── MentorProfile.js
├── Router.js
├── Status.js
├── Topic.js
└── Topics.js
├── index.js
├── logo.svg
├── response
└── response.js
├── serviceWorker.js
└── styles.css
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "projectName": "coding-ai",
3 | "projectOwner": "10secondsofcode",
4 | "repoType": "github",
5 | "repoHost": "https://github.com",
6 | "files": [
7 | "README.md"
8 | ],
9 | "imageSize": 50,
10 | "commit": true,
11 | "commitConvention": "none",
12 | "contributors": [
13 | {
14 | "login": "elangosundar",
15 | "name": "Elangovan",
16 | "avatar_url": "https://avatars1.githubusercontent.com/u/6679438?v=4",
17 | "profile": "https://github.com/elangosundar",
18 | "contributions": [
19 | "ideas",
20 | "code"
21 | ]
22 | },
23 | {
24 | "login": "10-seconds",
25 | "name": "10seconds",
26 | "avatar_url": "https://avatars1.githubusercontent.com/u/43847565?v=4",
27 | "profile": "https://github.com/10-seconds",
28 | "contributions": [
29 | "code"
30 | ]
31 | },
32 | {
33 | "login": "emmbyiringiro",
34 | "name": "BYIRINGIRO Emmanuel",
35 | "avatar_url": "https://avatars2.githubusercontent.com/u/46843540?v=4",
36 | "profile": "https://github.com/emmbyiringiro",
37 | "contributions": [
38 | "code"
39 | ]
40 | },
41 | {
42 | "login": "zhcet19",
43 | "name": "Faiz alam",
44 | "avatar_url": "https://avatars2.githubusercontent.com/u/55043876?v=4",
45 | "profile": "https://zhcet19.github.io/",
46 | "contributions": [
47 | "code"
48 | ]
49 | },
50 | {
51 | "login": "skngetich",
52 | "name": "Stephen Ng'etich",
53 | "avatar_url": "https://avatars0.githubusercontent.com/u/32092901?v=4",
54 | "profile": "https://github.com/skngetich",
55 | "contributions": [
56 | "code"
57 | ]
58 | },
59 | {
60 | "login": "AregbesolaOJ",
61 | "name": "Aregbesola John ",
62 | "avatar_url": "https://avatars2.githubusercontent.com/u/43854724?v=4",
63 | "profile": "https://github.com/AregbesolaOJ",
64 | "contributions": [
65 | "code"
66 | ]
67 | },
68 | {
69 | "login": "ethanmassie",
70 | "name": "Ethan Massie",
71 | "avatar_url": "https://avatars2.githubusercontent.com/u/21372584?v=4",
72 | "profile": "https://emassie.dev/",
73 | "contributions": [
74 | "code"
75 | ]
76 | },
77 | {
78 | "login": "Nazeeefa",
79 | "name": "Nazeefa",
80 | "avatar_url": "https://avatars0.githubusercontent.com/u/6730853?v=4",
81 | "profile": "https://github.com/Nazeeefa",
82 | "contributions": [
83 | "code"
84 | ]
85 | },
86 | {
87 | "login": "nickjlee",
88 | "name": "Nick Lee",
89 | "avatar_url": "https://avatars0.githubusercontent.com/u/16159706?v=4",
90 | "profile": "https://github.com/nickjlee",
91 | "contributions": [
92 | "code"
93 | ]
94 | },
95 | {
96 | "login": "sittichoke",
97 | "name": "sittichoke ",
98 | "avatar_url": "https://avatars1.githubusercontent.com/u/5021283?v=4",
99 | "profile": "https://github.com/sittichoke",
100 | "contributions": [
101 | "code"
102 | ]
103 | },
104 | {
105 | "login": "s0meon3",
106 | "name": "Gabriel Corrêa",
107 | "avatar_url": "https://avatars2.githubusercontent.com/u/42304543?v=4",
108 | "profile": "https://github.com/s0meon3",
109 | "contributions": [
110 | "code"
111 | ]
112 | },
113 | {
114 | "login": "bijoy26",
115 | "name": "Anjum Rashid",
116 | "avatar_url": "https://avatars2.githubusercontent.com/u/42487891?v=4",
117 | "profile": "https://www.linkedin.com/in/anjum-rashid/",
118 | "contributions": [
119 | "code"
120 | ]
121 | },
122 | {
123 | "login": "atultherajput",
124 | "name": "Atul Krishna",
125 | "avatar_url": "https://avatars3.githubusercontent.com/u/11033984?v=4",
126 | "profile": "https://atultherajput.github.io/",
127 | "contributions": [
128 | "code"
129 | ]
130 | },
131 | {
132 | "login": "Dana94",
133 | "name": "Dana Ottaviani",
134 | "avatar_url": "https://avatars1.githubusercontent.com/u/20132264?v=4",
135 | "profile": "https://www.danaottaviani.com/",
136 | "contributions": [
137 | "code"
138 | ]
139 | },
140 | {
141 | "login": "luisaugusto",
142 | "name": "Luis Augusto",
143 | "avatar_url": "https://avatars0.githubusercontent.com/u/1530227?v=4",
144 | "profile": "https://github.com/luisaugusto",
145 | "contributions": [
146 | "code"
147 | ]
148 | },
149 | {
150 | "login": "Moorad",
151 | "name": "Moorad",
152 | "avatar_url": "https://avatars2.githubusercontent.com/u/34781684?v=4",
153 | "profile": "https://mooradal.github.io/",
154 | "contributions": [
155 | "code"
156 | ]
157 | },
158 | {
159 | "login": "tloth",
160 | "name": "anna tloth",
161 | "avatar_url": "https://avatars0.githubusercontent.com/u/43584119?v=4",
162 | "profile": "https://github.com/tloth",
163 | "contributions": [
164 | "code"
165 | ]
166 | },
167 | {
168 | "login": "bricakeld",
169 | "name": "Aldric Bek",
170 | "avatar_url": "https://avatars3.githubusercontent.com/u/26768943?v=4",
171 | "profile": "https://aldricbek.com/",
172 | "contributions": [
173 | "code"
174 | ]
175 | },
176 | {
177 | "login": "manikkalai-kannan",
178 | "name": "manikkalai-kannan",
179 | "avatar_url": "https://avatars2.githubusercontent.com/u/38786205?v=4",
180 | "profile": "https://github.com/manikkalai-kannan",
181 | "contributions": [
182 | "code"
183 | ]
184 | },
185 | {
186 | "login": "SalmanMehmood",
187 | "name": "SalmanMehmood",
188 | "avatar_url": "https://avatars3.githubusercontent.com/u/29171448?v=4",
189 | "profile": "https://github.com/SalmanMehmood",
190 | "contributions": [
191 | "code"
192 | ]
193 | },
194 | {
195 | "login": "sureshmangs",
196 | "name": "Suresh Mangs",
197 | "avatar_url": "https://avatars2.githubusercontent.com/u/43926919?v=4",
198 | "profile": "https://github.com/sureshmangs",
199 | "contributions": [
200 | "code"
201 | ]
202 | },
203 | {
204 | "login": "martyns0n",
205 | "name": "Martyn Son",
206 | "avatar_url": "https://avatars1.githubusercontent.com/u/20739202?v=4",
207 | "profile": "https://github.com/martyns0n",
208 | "contributions": [
209 | "code"
210 | ]
211 | },
212 | {
213 | "login": "winndo",
214 | "name": "Herwindo Artono",
215 | "avatar_url": "https://avatars1.githubusercontent.com/u/722101?v=4",
216 | "profile": "https://w-digital.co/",
217 | "contributions": [
218 | "code"
219 | ]
220 | },
221 | {
222 | "login": "giantthinker",
223 | "name": "Abdellah Ramadan",
224 | "avatar_url": "https://avatars3.githubusercontent.com/u/17084652?v=4",
225 | "profile": "https://abdellahramadan.com/",
226 | "contributions": [
227 | "code"
228 | ]
229 | },
230 | {
231 | "login": "akankshach29",
232 | "name": "Akanksha Choudhary",
233 | "avatar_url": "https://avatars2.githubusercontent.com/u/31201111?v=4",
234 | "profile": "https://github.com/akankshach29",
235 | "contributions": [
236 | "code"
237 | ]
238 | },
239 | {
240 | "login": "AlandouglasMendes",
241 | "name": "AlandouglasMendes",
242 | "avatar_url": "https://avatars2.githubusercontent.com/u/42749979?v=4",
243 | "profile": "https://github.com/AlandouglasMendes",
244 | "contributions": [
245 | "code"
246 | ]
247 | },
248 | {
249 | "login": "asfo",
250 | "name": "Asfo Zavala",
251 | "avatar_url": "https://avatars0.githubusercontent.com/u/829964?v=4",
252 | "profile": "https://asfo.dev/",
253 | "contributions": [
254 | "code"
255 | ]
256 | },
257 | {
258 | "login": "niyoceles",
259 | "name": "Celestin NIYONSABA",
260 | "avatar_url": "https://avatars3.githubusercontent.com/u/30776949?v=4",
261 | "profile": "https://github.com/niyoceles",
262 | "contributions": [
263 | "code"
264 | ]
265 | },
266 | {
267 | "login": "dnlnvl",
268 | "name": "dnlnvl",
269 | "avatar_url": "https://avatars2.githubusercontent.com/u/39607648?v=4",
270 | "profile": "https://github.com/dnlnvl",
271 | "contributions": [
272 | "code"
273 | ]
274 | },
275 | {
276 | "login": "darpanjbora",
277 | "name": "Darpan Jyoti Bora",
278 | "avatar_url": "https://avatars3.githubusercontent.com/u/14301996?v=4",
279 | "profile": "https://darpanjbora.github.io/portfolio/",
280 | "contributions": [
281 | "code"
282 | ]
283 | },
284 | {
285 | "login": "Dgiulian",
286 | "name": "Diego Giuliani",
287 | "avatar_url": "https://avatars2.githubusercontent.com/u/644747?v=4",
288 | "profile": "https://github.com/Dgiulian",
289 | "contributions": [
290 | "code"
291 | ]
292 | },
293 | {
294 | "login": "diegorondao",
295 | "name": "Diego Rondão",
296 | "avatar_url": "https://avatars1.githubusercontent.com/u/13041373?v=4",
297 | "profile": "https://twitter.com/diego_rondao",
298 | "contributions": [
299 | "code"
300 | ]
301 | },
302 | {
303 | "login": "eliasreis54",
304 | "name": "Elias Reis",
305 | "avatar_url": "https://avatars1.githubusercontent.com/u/29265526?v=4",
306 | "profile": "https://github.com/eliasreis54",
307 | "contributions": [
308 | "code"
309 | ]
310 | },
311 | {
312 | "login": "Gabrielyong38",
313 | "name": "Gabrielyong38",
314 | "avatar_url": "https://avatars0.githubusercontent.com/u/56734377?v=4",
315 | "profile": "https://github.com/Gabrielyong38",
316 | "contributions": [
317 | "code"
318 | ]
319 | },
320 | {
321 | "login": "HarisSpahija",
322 | "name": "Haris Spahija",
323 | "avatar_url": "https://avatars3.githubusercontent.com/u/22589249?v=4",
324 | "profile": "https://www.linkedin.com/in/hspahija/",
325 | "contributions": [
326 | "code"
327 | ]
328 | },
329 | {
330 | "login": "Joelgiovanni",
331 | "name": "Joel Godoy",
332 | "avatar_url": "https://avatars0.githubusercontent.com/u/35950568?v=4",
333 | "profile": "https://github.com/Joelgiovanni",
334 | "contributions": [
335 | "code"
336 | ]
337 | },
338 | {
339 | "login": "lucas-azambuja",
340 | "name": "Lucas Azambuja",
341 | "avatar_url": "https://avatars3.githubusercontent.com/u/505298?v=4",
342 | "profile": "https://github.com/lucas-azambuja",
343 | "contributions": [
344 | "code"
345 | ]
346 | },
347 | {
348 | "login": "mahval",
349 | "name": "Marianne Hval",
350 | "avatar_url": "https://avatars0.githubusercontent.com/u/19277989?v=4",
351 | "profile": "https://github.com/mahval",
352 | "contributions": [
353 | "code"
354 | ]
355 | },
356 | {
357 | "login": "Squizzi3",
358 | "name": "Martin Gnodtke",
359 | "avatar_url": "https://avatars2.githubusercontent.com/u/54278753?v=4",
360 | "profile": "https://github.com/Squizzi3",
361 | "contributions": [
362 | "code"
363 | ]
364 | },
365 | {
366 | "login": "mgeurian",
367 | "name": "Matt Geurian",
368 | "avatar_url": "https://avatars1.githubusercontent.com/u/15995932?v=4",
369 | "profile": "https://github.com/mgeurian",
370 | "contributions": [
371 | "code"
372 | ]
373 | },
374 | {
375 | "login": "mayank518",
376 | "name": "Mayank Kumar",
377 | "avatar_url": "https://avatars0.githubusercontent.com/u/27151470?v=4",
378 | "profile": "https://github.com/mayank518",
379 | "contributions": [
380 | "code"
381 | ]
382 | },
383 | {
384 | "login": "iMeriem",
385 | "name": "Meriem Zaid",
386 | "avatar_url": "https://avatars1.githubusercontent.com/u/11720929?v=4",
387 | "profile": "https://github.com/iMeriem",
388 | "contributions": [
389 | "code"
390 | ]
391 | },
392 | {
393 | "login": "Nicklaspoke",
394 | "name": "Nicklaspoke",
395 | "avatar_url": "https://avatars3.githubusercontent.com/u/14180855?v=4",
396 | "profile": "https://github.com/Nicklaspoke",
397 | "contributions": [
398 | "code"
399 | ]
400 | },
401 | {
402 | "login": "chongniki",
403 | "name": "Ni Ki Chong",
404 | "avatar_url": "https://avatars0.githubusercontent.com/u/40714048?v=4",
405 | "profile": "https://github.com/chongniki",
406 | "contributions": [
407 | "code"
408 | ]
409 | },
410 | {
411 | "login": "paucaro",
412 | "name": "Paula Asto",
413 | "avatar_url": "https://avatars3.githubusercontent.com/u/14001107?v=4",
414 | "profile": "https://paucaro.github.io/",
415 | "contributions": [
416 | "code"
417 | ]
418 | },
419 | {
420 | "login": "p-siriphanthong",
421 | "name": "Punn Siriphanthong",
422 | "avatar_url": "https://avatars2.githubusercontent.com/u/29949429?v=4",
423 | "profile": "https://p-siriphanthong.github.io/",
424 | "contributions": [
425 | "code"
426 | ]
427 | },
428 | {
429 | "login": "sf3ris",
430 | "name": "sf3ris",
431 | "avatar_url": "https://avatars2.githubusercontent.com/u/22035831?v=4",
432 | "profile": "https://github.com/sf3ris",
433 | "contributions": [
434 | "code"
435 | ]
436 | },
437 | {
438 | "login": "zarasyversen",
439 | "name": "Zara",
440 | "avatar_url": "https://avatars1.githubusercontent.com/u/15093848?v=4",
441 | "profile": "https://github.com/zarasyversen",
442 | "contributions": [
443 | "code"
444 | ]
445 | },
446 | {
447 | "login": "aashish14002",
448 | "name": "aashish14002",
449 | "avatar_url": "https://avatars2.githubusercontent.com/u/15605216?v=4",
450 | "profile": "https://github.com/aashish14002",
451 | "contributions": [
452 | "code"
453 | ]
454 | },
455 | {
456 | "login": "alexlsalt",
457 | "name": "alexlsalt",
458 | "avatar_url": "https://avatars0.githubusercontent.com/u/45923677?v=4",
459 | "profile": "https://github.com/alexlsalt",
460 | "contributions": [
461 | "code"
462 | ]
463 | },
464 | {
465 | "login": "arslandogar",
466 | "name": "Arslan Dogar",
467 | "avatar_url": "https://avatars2.githubusercontent.com/u/38478270?v=4",
468 | "profile": "https://github.com/arslandogar",
469 | "contributions": [
470 | "code"
471 | ]
472 | },
473 | {
474 | "login": "drunkedMonkey",
475 | "name": "Jose Ibanez",
476 | "avatar_url": "https://avatars1.githubusercontent.com/u/23294021?v=4",
477 | "profile": "https://github.com/drunkedMonkey",
478 | "contributions": [
479 | "code"
480 | ]
481 | },
482 | {
483 | "login": "greyGroot",
484 | "name": "Sergey Rumiantsev",
485 | "avatar_url": "https://avatars2.githubusercontent.com/u/41450089?v=4",
486 | "profile": "https://github.com/greyGroot",
487 | "contributions": [
488 | "code"
489 | ]
490 | },
491 | {
492 | "login": "haidarrifki",
493 | "name": "Muhammad Haidar Rifki",
494 | "avatar_url": "https://avatars3.githubusercontent.com/u/19185336?v=4",
495 | "profile": "https://haidarrifki.com/",
496 | "contributions": [
497 | "code"
498 | ]
499 | },
500 | {
501 | "login": "myungwoo-Y",
502 | "name": "Myung",
503 | "avatar_url": "https://avatars1.githubusercontent.com/u/38170596?v=4",
504 | "profile": "https://github.com/myungwoo-Y",
505 | "contributions": [
506 | "code"
507 | ]
508 | },
509 | {
510 | "login": "od3n",
511 | "name": "Salahuddin Hairai",
512 | "avatar_url": "https://avatars3.githubusercontent.com/u/156899?v=4",
513 | "profile": "http://od3n.net/",
514 | "contributions": [
515 | "code"
516 | ]
517 | },
518 | {
519 | "login": "r4fidah",
520 | "name": "Rafidah",
521 | "avatar_url": "https://avatars2.githubusercontent.com/u/13913508?v=4",
522 | "profile": "https://github.com/r4fidah",
523 | "contributions": [
524 | "code"
525 | ]
526 | },
527 | {
528 | "login": "sravan7",
529 | "name": "Sravan Varma",
530 | "avatar_url": "https://avatars0.githubusercontent.com/u/22323074?v=4",
531 | "profile": "https://github.com/sravan7",
532 | "contributions": [
533 | "code"
534 | ]
535 | },
536 | {
537 | "login": "AndreyLop",
538 | "name": "Andrey Lopatin",
539 | "avatar_url": "https://avatars0.githubusercontent.com/u/17415394?v=4",
540 | "profile": "https://github.com/AndreyLop",
541 | "contributions": [
542 | "code"
543 | ]
544 | },
545 | {
546 | "login": "vish198910",
547 | "name": "Vishnu Sharma",
548 | "avatar_url": "https://avatars0.githubusercontent.com/u/24662654?v=4",
549 | "profile": "https://www.instagram.com/myhobbyverse/",
550 | "contributions": [
551 | "code"
552 | ]
553 | }
554 | ],
555 | "contributorsPerLine": 8
556 | }
557 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # .gitignore
2 | node_modules
3 | dist
4 | build
5 |
6 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | # .npmignore
2 | src
3 | examples
4 | .babelrc
5 | .gitignore
6 | webpack.config.js
7 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # CONTRIBUTING
2 |
--------------------------------------------------------------------------------
/Coding-Ai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/Coding-Ai.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 10secondsofcode
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
CodingAI
2 | CodingAI helps to find a mentor related your technologies stack.
3 |
4 |

5 |

6 |

7 |

8 |

9 |

10 |
11 |
12 | Loved the project? Please visit our Website
13 |
14 |
15 | If you like this project, Please click the :star: and Pull Request are highly appreciated.
16 |
17 | [](https://app.netlify.com/sites/mentors/deploys)
18 |
19 | # Tech Stack & Features
20 |
21 | * React
22 | * Redux
23 | * CSS
24 | * Mobile friendly & responsive
25 |
26 | 
27 |
28 |
29 | ## README translations
30 |
31 | | *LANGUAGE* | *LINK* |
32 | |----------------------|---------------------------------------------------------------------------------------------|
33 | | Brazilian Portuguese | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-ptbr.md |
34 | | German | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-de.md |
35 | | Peruvian Spanish | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-es.md |
36 | | Arabic | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-ar.md |
37 | | Korean | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-kr.md |
38 | | Swedish | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-swe.md |
39 | | Danish | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-dk.md |
40 | | Tamil | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-ta.md |
41 | | Dutch | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-nl.md |
42 | | Hungarian | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-hu.md |
43 | | Malay | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-ms.md |
44 | | Norwegian | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-no.md |
45 | | Thai | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-th.md |
46 | | Chinese (SIMPLIFIED) | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-zh.md |
47 | | Russian | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-ru.md |
48 | | Bengali | https://github.com/10secondsofcode/coding-ai/blob/master/readme-translations/README-bn.md |
49 |
50 |
51 | ## Contributors ✨
52 |
53 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
54 |
55 |
56 |
57 |
58 |
136 |
137 |
138 |
139 |
140 |
141 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
142 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Coding-AI",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "all-contributors-cli": "^6.16.1",
7 | "bootstrap": "^4.5.0",
8 | "devicon": "^2.2.0",
9 | "font-mfizz": "^2.4.1",
10 | "react": "^16.6.0",
11 | "react-blink-text": "^1.0.3",
12 | "react-dom": "^16.13.0",
13 | "react-icons": "^3.9.0",
14 | "react-image-fallback": "^8.0.0",
15 | "react-router-dom": "^5.2.0",
16 | "react-scripts": "^3.3.1"
17 | },
18 | "scripts": {
19 | "start": "react-scripts start",
20 | "build": "react-scripts build",
21 | "test": "react-scripts test",
22 | "eject": "react-scripts eject"
23 | },
24 | "eslintConfig": {
25 | "extends": "react-app"
26 | },
27 | "browserslist": [
28 | ">0.2%",
29 | "not dead",
30 | "not ie <= 11",
31 | "not op_mini all"
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
15 |
16 |
25 | Coding-Ai
26 |
27 |
28 |
29 |
32 |
33 |
43 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "Coding-AI",
3 | "name": "Coding-AI",
4 | "icons": [
5 | {
6 | "src": "logo.png",
7 | "sizes": "192x192",
8 | "type": "image/png"
9 | },
10 | {
11 | "src": "logo-512.png",
12 | "sizes": "512x512",
13 | "type": "image/png"
14 | }
15 | ],
16 | "start_url": "/",
17 | "display": "standalone",
18 | "theme_color": "#000",
19 | "background_color": "#000"
20 | }
--------------------------------------------------------------------------------
/public/service-worker.js:
--------------------------------------------------------------------------------
1 | var doCache = true;
2 | alert("LEaf ===> "+doCache);
3 | var CACHE_NAME = "my-pwa-cache-v1";
4 |
5 | self.addEventListener("activate", event => {
6 | const cacheWhitelist = [CACHE_NAME];
7 | event.waitUntil(
8 | caches.keys().then(keyList =>
9 | Promise.all(
10 | keyList.map(key => {
11 | if (!cacheWhitelist.includes(key)) {
12 | console.log("Deleting cache: " + key);
13 | return caches.delete(key);
14 | }
15 | })
16 | )
17 | )
18 | );
19 | });
20 |
21 | self.addEventListener("install", function(event) {
22 | if (doCache) {
23 | event.waitUntil(
24 | caches.open(CACHE_NAME).then(function(cache) {
25 | fetch("manifest.json")
26 | .then(response => {
27 | response.json();
28 | })
29 | .then(assets => {
30 | const urlsToCache = ["/", assets["main.js"]];
31 | cache.addAll(urlsToCache);
32 | console.log("cached");
33 | });
34 | })
35 | );
36 | }
37 | });
38 |
39 | self.addEventListener("fetch", function(event) {
40 | if (doCache) {
41 | event.respondWith(
42 | caches.match(event.request).then(function(response) {
43 | return response || fetch(event.request);
44 | })
45 | );
46 | }
47 | });
--------------------------------------------------------------------------------
/public/styles.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/public/styles.css
--------------------------------------------------------------------------------
/readme-translations/README-ar.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | يساعد Coding-AI على إيجاد مرشد مرتبط بتقنياتك [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 | # مرحبا بكم الى Hacktoberfest 2019 !
5 | اتبع هذه الخطوات لتقديم أول pull request:
6 |
7 | 1. Fork هذا المستودع.
8 |
9 | 2. استنسخ المستودع إلى جهاز الخاص بك.
10 |
11 | 3. تأخذ أي مشكلة من قائمة المشاكل وإنشاء pull request.
12 |
13 | 4. اكتب هذه الأوامر في الTerminal:
14 | ```
15 | git add -A
16 | git commit -m "your name"
17 | git push origin master
18 | ```
19 | 5. ثم قم بإنشاء ال pull request الخاص بك.
20 |
21 | 6. اعطني نجمة.
22 |
23 | 7. مبروك! لقد قمت بإنشاء pull request بنجاح.
24 |
25 | 8. تحقق من تقدمك [هنا](https://hacktoberfest.digitalocean.com/profile) وانتظر قميصك.
26 |
27 | النسخة البرتغالية البرازيلية من الملف README.md [هنا](/README-ptbr.md)!
28 |
--------------------------------------------------------------------------------
/readme-translations/README-bn.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI আপনার প্রযুক্তিসামগ্রীর জন্য পরামর্শদাতা খুঁজে পেতে সহায়তা করে। [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | > প্রকল্পটি পছন্দ হলে :star: বাটনে ক্লিক করুন। Pull Request বরাবরই আমরা উৎসাহিত করি।
6 |
7 | [](https://lgtm.com/projects/g/10secondsofcode/coding-ai/alerts/) | [](https://lgtm.com/projects/g/10secondsofcode/coding-ai/context:javascript)
8 |
9 |
10 | # Slack এ যোগ দিন
11 |
12 | CodingAI সদস্যগণ slack এ যুক্ত হলে এখানে ইনভাইট রিকোয়েস্ট দিবেন:
13 |
14 | [Slack এ যোগদান ](https://join.slack.com/t/10secondsofcode/shared_invite/enQtODMzMzEwMjQ0MTQ2LWFhMmVkYzZjNmIyMzAwNmM1MDFlNjY5OTYwMzllNWRmOGUyYzFiZDllMDRlZTZlYjkwMjA2MzNlYzEwMTYyM2I)
15 |
16 | # প্রযুক্তিসামগ্রী ও তার বৈশিষ্ট্যাবলী
17 |
18 | * React
19 | * React Components
20 | * JSX
21 | * CSS
22 | * Mobile friendly & responsive
23 |
24 | 
25 |
26 | # CodingAI 2020 এ স্বাগতম
27 | আপনার প্রথম pull request সম্পন্ন করতে নিচের ধাপগুলো অনুসরণ করুন :
28 |
29 | 1.এই repository টি (`fork`) করুন.
30 |
31 | 2.Forked repository থেকে আপনার কম্পিউটারে (`clone`) করুন.
32 |
33 | 3.Issues list থেকে যেকোনো Issue খুঁজে নিন এবং PR শুরু করুন।
34 |
35 | 4.Terminal ওপেন করে নিচের নির্দেশনাগুলো লিখুন:
36 | ```
37 | git add -A
38 | git commit -m "আপনার নাম"
39 | git push origin master
40 | ```
41 |
42 | 5.এরপর pull request তৈরী করুন।
43 |
44 | 6.এই repository টি Star চিহ্নিত করুন।
45 |
46 | 7.অভিনন্দন!! আপনার pull request টি সফলভাবে সম্পন্ন হয়েছে।
47 |
--------------------------------------------------------------------------------
/readme-translations/README-de.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI hilft Ihnen, einen Mentor zu finden, der mit Ihren Technologiestacks zu tun hat. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Willkommen beim HacktoberFest 2019!
6 | Folge diesen Schritten um deine erste Pull Request zu machen:
7 |
8 | 1. Fork dieses Repository
9 |
10 | 2. Klone dein Fork Repository auf deinen lokalen Computer.
11 |
12 | 3. Suche dir ein Problem (`issue`) aus der Problemliste (`Issues`) und erstelle deine Pull Request (PR).
13 |
14 | 4. Schreibe diese Kommandos in deine Eingabeaufforderung (`CMD`, `Terminal`, `Git-Bash`, etc.):
15 | ```
16 | git add -A
17 | git commit -m "dein Name"
18 | git push origin master
19 | ```
20 | 5. Dann erstelle deine Pull Request (PR).
21 |
22 | 6. Gib diesem Repository einen Stern.
23 |
24 | 7. Glückwunsch! Du hast erfolgreich deine Pull Request erstellt.
25 |
26 | 8. Überprüfe deinen Fortschritt [hier](https://hacktoberfest.digitalocean.com/profile) und warte auf dein T-Shirt!
--------------------------------------------------------------------------------
/readme-translations/README-dk.md:
--------------------------------------------------------------------------------
1 | # Kodning-AI
2 | Kodning AI hjælper med at finde en mentor relateret til din teknologi tilbage. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Velkommen till HacktoberFest 2019!
6 | Følg disse trin for at fremsætte din første pull-anmodning:
7 |
8 | 1. Kopier (fork) dette depot.
9 |
10 | 2. Klon dit kopierede lager til din lokale maskine.
11 |
12 | 3. Tag ethvert spørgsmål fra listen over emner og opret PR.
13 |
14 | 4. Skriv disse kommandoer på din terminal:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. Opret derefter din pull-anmodning.
21 |
22 | 6. Stjerner mit depot.
23 |
24 | 7. Tillykke!! Du har oprettet din pull-anmodning.
25 |
26 | 8. Tjek din fremgang [her](https://hacktoberfest.digitalocean.com/profile) og vent på din skjorte.
27 |
--------------------------------------------------------------------------------
/readme-translations/README-es.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI te ayuda a encontrar un mentor relacionado con tu stack de tecnologías. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Bienvenido a HacktoberFest 2019!
6 | Sigue estos pasos para realizar su primer pull request:
7 |
8 | 1. Realiza una copia (Fork) de este repositorio.
9 |
10 | 2. Clona el repositorio bifurcado en tu maquina local.
11 |
12 | 3. Elije algún tarea de la lista de problemas y haz un PR.
13 |
14 | 4. Escribe estos comandos en tu terminal:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. Entonces crea tu pull request.
21 |
22 | 6. Destaca mi repositorio.
23 |
24 | 7. Enhorabuena!! Has creado un pull request con éxito.
25 |
26 | 8. Revisa tu progreso [aquí](https://hacktoberfest.digitalocean.com/profile) y espera por tu camiseta.
--------------------------------------------------------------------------------
/readme-translations/README-fr.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI vous aidez à rencontrer un mentor qui connaît vos langues technologique. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Bienvenue à HacktoberFest 2020!
6 | Veuillez suivre ces étapes pour faire votre première pull request:
7 |
8 | 1. Faites une copie (Fork) de ce dépôt.
9 |
10 | 2. Clonez le dépôt copié à votre machine locale.
11 |
12 | 3. Prenez n'importe qu'elle issue de la liste des issues et créez le PR (pull request).
13 |
14 | 4. Écrivez ces commandes dans votre terminal:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. Ensuite créez votre PR (pull request).
21 |
22 | 6. Mettez l'étoile sur ce dépôt.
23 |
24 | 7. Féliciations! Vous avez crée votre pull request.
25 |
--------------------------------------------------------------------------------
/readme-translations/README-hi.md:
--------------------------------------------------------------------------------
1 | Coding-AI
2 | Coding-AI एक संरक्षक को खोजने में मदद करता है जो आपकी प्रौद्योगिकियों से संबंधित है।
3 |
4 | HacktoberFest 2019 में आपका स्वागत है!
5 |
6 | अपना पहला पुल अनुरोध बनाने के लिए इन चरणों का पालन करें:
7 | 1. इस कोष को उप-विभाजित करें।
8 | 2. अपने कंप्यूटर में इस कोष का एक क्लोन बनाएं।
9 | 3. मुद्दों की सूची से किसी भी मुद्दे को लें और पीआर बनाएं
10 | 4. अपने टर्मिनल पर ये कमांड लिखें:
11 |
12 | git add -A
13 | git commit -m "your name"
14 | git push origin master
15 |
16 | 5. फिर अपने पुल अनुरोध बनाएँ
17 | 6. आपको मेरा कोष पसंद आया तो स्टार पर क्लिक करें
18 | 7. बधाई हो!! आपने सफलतापूर्वक अपना पुल अनुरोध बना लिया है।
19 | 8. यहां अपनी प्रगति की जांच करें और अपनी शर्ट की प्रतीक्षा करें।
20 |
--------------------------------------------------------------------------------
/readme-translations/README-hu.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | A Coding-AI segít a te technológiai vermedben jártas mentort találni. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Üdvözöl a HacktoberFest 2019!
6 | Hogy létrehozd az első pull requestedet, kövesd az itt leírt lépéseket:
7 |
8 | 1. Forkold ezt a repository-t.
9 |
10 | 2. Clone-old a forkolt repositorydat a helyi készülékedre.
11 |
12 | 3. Válassz ki egy issue-t az issue listárol, és hozd létre a PR-t (pull request).
13 |
14 | 4. Írd be ezeket az utasításokat a terminal-odba:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. Ezután menj a 'Pull requests' részre a repository-d github oldalán, és hozd létre a PR-t.
21 |
22 | 6. Csillagozd be a repository-mat.
23 |
24 | 7. Szép munka! Sikeresen elkészítetted a pull request-et.
25 |
26 | 8. Kövesd, hogy mennyi van még hátra a kihívásbol [itt](https://hacktoberfest.digitalocean.com/profile), és várd a pólódat!
27 |
--------------------------------------------------------------------------------
/readme-translations/README-kr.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI는 기술 스택과 관련된 멘토와 연결해 드립니다. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # 웰컴투 HacktoberFest 2019!
6 | 첫 풀리퀘스트 (Pull Request, PR) 가이드:
7 |
8 | 1. 본 저장소를 포크한다.
9 |
10 | 2. 포크후 로컬 저장소를 내려받는다. (Clone)
11 |
12 | 3. 이슈목록을 살펴 이슈를 택한후 작업한다.
13 |
14 | 4. 터미널의 다음 명령어를 실행한다
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 |
21 | 5. 풀리퀘스트를 한다. (PR)
22 |
23 | 6. 본 저장소에 별(Star)을 달아준다.
24 |
25 | 7. 축하합니다!! 성공적으로 첫 풀리퀘스트를 하였습니다
26 |
27 | 8. [여기](https://hacktoberfest.digitalocean.com/profile)에서 핵토버페스트 프로필을 확인하고 셔츠를 기다린다!
--------------------------------------------------------------------------------
/readme-translations/README-ms.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI membantu mencari mentor yang berkaitan dengan teknologi anda. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Selamat datang ke HacktoberFest 2019!
6 | Ikuti langkah berikut untuk membuat pull request pertama anda:
7 |
8 | 1. Fork repositori ini.
9 |
10 | 2. Klon repositori yang anda fork ke mesin anda.
11 |
12 | 3. Ambil sebarang isu daripada senarai isu dan buat PR.
13 |
14 | 4. Tulis arahan ini di terminal anda:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. Kemudian buat pull request anda.
21 |
22 | 6. Tanda bintang pada repositori ini.
23 |
24 | 7. Tahniah!! Anda berjaya membuat pull request anda.
25 |
26 | 8. Semak perkembangan anda [di sini](https://hacktoberfest.digitalocean.com/profile) dan tunggu baju anda.
--------------------------------------------------------------------------------
/readme-translations/README-no.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI hjelper deg med å finne en mentor som er relatert til din teknologi-stack. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Velkommen til HacktoberFest 2019!
6 | Følg disse stegene for å lage din første pull request:
7 |
8 | 1. Fork dette repositoriet.
9 |
10 | 2. Klon ditt forka repository til din lokale maskin.
11 |
12 | 3. Ta et hvilket som helst issue fra issue-listen, og lag PR-et.
13 |
14 | 4. Skriv inn disse kommandoene i terminalen din:
15 | ```
16 | git add -A
17 | git commit -m "navnet ditt"
18 | git push origin master
19 | ```
20 | 5. Opprett deretter PR-et ditt.
21 |
22 | 6. Sett repositoriet mitt som favoritt.
23 |
24 | 7. Gratulerer!! Du har opprettet pull requestet ditt.
25 |
26 | 8. Sjekk fremgangen din [her] (https://hacktoberfest.digitalocean.com/profile) og vent på T-skjorten din.
--------------------------------------------------------------------------------
/readme-translations/README-ptbr.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | O Coding-AI te ajuda a achar um mentor relacionado às suas stacks de tecnologia. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Bem-vindo ao HacktoberFest 2019!
6 | Siga estes passos para realizar sua primeira pull-request:
7 |
8 | 1. Faça um fork deste repositório.
9 |
10 | 2. Clone o repositório localmente na sua máquina.
11 |
12 | 3. Escolha alguma issue da lista de issues e faça as alterações.
13 |
14 | 4. Escreva estes comandos no seu terminal:
15 | ```
16 | git add -A
17 | git commit -m "seu nome"
18 | git push origin master
19 | ```
20 | 5. Crie a pull request.
21 |
22 | 6. Favorite meu repositório.
23 |
24 | 7. Parabéns! Você acabou de criar sua primeira pull request.
25 |
26 | 8. Confira seu progresso [aqui](https://hacktoberfest.digitalocean.com/profile) e aguarde pela sua camiseta!
27 |
--------------------------------------------------------------------------------
/readme-translations/README-ru.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI помогает найти ментора, связанного с вашим стеком технологий. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | > Нажми на :star: если вам понравился проект. Мы высоко ценим ваш Pull Request.
6 |
7 | [](https://lgtm.com/projects/g/10secondsofcode/coding-ai/alerts/) | [](https://lgtm.com/projects/g/10secondsofcode/coding-ai/context:javascript)
8 |
9 |
10 | # Добавляйтесь в slack
11 |
12 | Участники CodingAI добавляются в slack, за приглашением перейдите по ссылке:
13 |
14 | [Войти в Slack](https://join.slack.com/t/10secondsofcode/shared_invite/enQtODMzMzEwMjQ0MTQ2LWFhMmVkYzZjNmIyMzAwNmM1MDFlNjY5OTYwMzllNWRmOGUyYzFiZDllMDRlZTZlYjkwMjA2MzNlYzEwMTYyM2I)
15 |
16 | # Tech Stack & Features
17 |
18 | * React
19 | * React Components
20 | * JSX
21 | * CSS
22 | * Mobile friendly & responsive
23 |
24 | 
25 |
26 | # Добро пожаловать на CodingAI 2020!
27 | Следуйте этим шагам для того, чтобы сделать ваш первый pull request:
28 |
29 | 1. Форкните (`fork`) этот репозиторий.
30 |
31 | 2. Склонируйте (`clone`) форкнутый репозиторий на вашу локальную машину.
32 |
33 | 3. Возьмите любой issue из списка и создайте pull request (PR).
34 |
35 | 4. Напишите эти команды в консоли:
36 | ```
37 | git add -A
38 | git commit -m "ваше имя"
39 | git push origin master
40 | ```
41 | 5. Затем создайте ваш pull request.
42 |
43 | 6. Поставьте звезду этому репозиторию.
44 |
45 | 7. Поздравляем!! Вы успешно создали pull request.
--------------------------------------------------------------------------------
/readme-translations/README-swe.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI hjälper dig att hitta en mentor releaterat till din teknik stack. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 | # Välkommen till HacktoberFest 2019!
5 | Följ dessa steg för att göra din första pull request:
6 |
7 | 1. Kopiera (forka) detta repository.
8 |
9 | 2. Klona ditt kopierade repository till din lokala maskin.
10 |
11 | 3. Ta något problem från problem listan and skapa ett PR.
12 |
13 | 4. Skriv dessa kommandon i din terminal:
14 | ```
15 | git add -A
16 | git commit -m "ditt namn"
17 | git push origin master
18 | ```
19 | 5. Sen skapar du din pull request.
20 |
21 | 6. Stjärnmärk mitt repository.
22 |
23 | 7. Grattis!! Du har lyckats skapa ditt pull request.
24 |
25 | 8. Kolla dina framsteg [här](https://hacktoberfest.digitalocean.com/profile) och vänta på din tröja.
26 |
--------------------------------------------------------------------------------
/readme-translations/README-ta.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI உங்கள் தொழில்நுட்பங்களின் அடுக்கு தொடர்பான வழிகாட்டியைக் கண்டுபிடிக்க உதவுகிறது. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # HacktoberFest 2019க்கு வரவேற்கிறோம்!
6 | உங்கள் முதல் இழுப்பு கோரிக்கையை செய்ய இந்த படிகளைப் பின்பற்றவும்:
7 |
8 | 1. இந்த களஞ்சியத்தை நகலெடுக்கவும்
9 |
10 | 2. உங்கள் நகலெடுக்கப்பட்ட களஞ்சியத்தை உங்கள் கணினியில் குளோன் செய்யுங்கள்.
11 |
12 | 3. சிக்கல்கள் பட்டியலிலிருந்து எந்தவொரு சிக்கலையும் எடுத்து PR ஐ உருவாக்கவும்.
13 |
14 | 4. இந்த கட்டளைகளை உங்கள் முனையத்தில் எழுதுங்கள்:
15 | ```
16 | git add -A
17 | git commit -m "your name"
18 | git push origin master
19 | ```
20 | 5. உங்கள் இழுப்பு கோரிக்கையை உருவாக்கவும்.
21 |
22 | 6. எனது களஞ்சியத்தை நட்சத்திரமிடுங்கள்.
23 |
24 | 7. வாழ்த்துக்கள் !! உங்கள் இழுத்தல் கோரிக்கையை வெற்றிகரமாக உருவாக்கியுள்ளீர்கள்.
25 |
26 | 8. உங்கள் முன்னேற்றத்தை [இங்கே](https://hacktoberfest.digitalocean.com/profile) சரிபார்த்து, உங்கள் சட்டைக்காக காத்திருங்கள்.
27 |
--------------------------------------------------------------------------------
/readme-translations/README-th.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI ช่วยคุณค้นหาที่ปรึกษาเกี่ยวกับ technology stack ที่คุณใช้. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # ยินดีต้อนรับสู่ Hacktoberfest 2019!
6 | ทำตามขั้นตอนนี้เพื่อสร้าง pull request แรกของคุณ:
7 |
8 | 1. Fork repository นี้
9 |
10 | 2. Clone repository ที่คุณ fork ไปที่คอมพิวเตอร์ของคุณ
11 |
12 | 3. ไปที่ Issues เพื่อดูว่าคุณช่วยอะไรได้บ้าง เมื่อคุณได้ช่วยแก้ไขแล้วให้ commit และ push ด้วยคำสั่งในข้อ4
13 |
14 | 4. พิมพ์คำสั่งนี้ลงใน terminal:
15 | ```
16 | git add -A
17 | git commit -m "ชื่อของคุณ"
18 | git push origin master
19 | ```
20 | 5. สร้าง pull request.
21 |
22 | 6. กด star ใน project นี้
23 |
24 | 7. ยินดีด้วย!! คุณสร้าง pull request สำเร็จแล้ว.
25 |
26 | 8. ตรวจสอบความคืบหน้าได้ที [here](https://hacktoberfest.digitalocean.com/profile) และรอ T-shirt ของคุณ.
27 |
28 | Brazilian portuguese version of the README.md file [here](readme-translations/README-ptbr.md)!
29 | German version of the README.md file [here](readme-translations/README-de.md)!
30 |
31 |
32 |
33 | Peruvian Spanish version of the README.md file [here](readme-translations/README-es.md)!
34 |
35 | Arabic version of the README.md file [here](readme-translations/README-ar.md)!
36 | Thai version of the README.md file [here](readme-translations/README-th.md)!
37 |
38 |
--------------------------------------------------------------------------------
/readme-translations/README-zh.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI 能帮助你找到与你技术栈有关的导师。 [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # 欢迎参加 HacktoberFest 2019!
6 |
7 | 请按照以下步骤来提交你的第一个pull request:
8 |
9 | 1. Fork这个项目。
10 |
11 | 2. 把这个项目clone到你你的电脑上。
12 |
13 | 3. 从话题(issues)中选择其中一个,然后提交PR。
14 |
15 | 4. 在terminal中输入以下命令:
16 | ```
17 | git add -A
18 | git commit -m "your name"
19 | git push origin master
20 | ```
21 | 5. 提交pull request。
22 |
23 | 6. Star这个项目。
24 |
25 | 7. 恭喜!!你已成功创造你的PR。
26 |
27 | 8. 查看你的[进展](https://hacktoberfest.digitalocean.com/profile)等待免费T恤。
28 |
29 | Original English version of the README.md file [here](../README.md)!
30 |
--------------------------------------------------------------------------------
/readme-translations/README.nl.md:
--------------------------------------------------------------------------------
1 | # Coding-AI
2 | Coding-AI helpt bij het vinden van een mentor gerelateerd aan jouw technologie stack. [](https://app.netlify.com/sites/mentors/deploys)
3 |
4 |
5 | # Welkom bij HacktoberFest 2019!
6 | Volg deze stappen bij het maken van jouw eerste pull request:
7 |
8 | 1. Fork deze repository
9 |
10 | 2. Clone jouw geforkte repository naar je lokale machine.
11 |
12 | 3. Kies een issue van de issue lijst en maak de PR.
13 |
14 | 4. Schrijft deze commands in je terminal:
15 |
16 | ```
17 | git add -A
18 | git commit -m "jouw naam"
19 | git push origin master
20 | ```
21 | 5. Maak vervolgens jouw pull request.
22 |
23 | 6. Star mijn repository.
24 |
25 | 7. Gefeliciteerd!! Je hebt succesvol een pull request gemaakt!
26 |
27 | 8. Kijk naar jouw voortgang [hier](https://hacktoberfest.digitalocean.com/profile) en wacht op jouw shirt.
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import "./styles.css";
3 |
4 | import Header from "./components/Header";
5 | import Router from "./components/Router";
6 | import Mentor from "./components/Mentor";
7 | import Footer from "./components/Footer";
8 |
9 | class App extends Component {
10 | constructor(props) {
11 | super(props);
12 | this.state = {
13 | search: ""
14 | };
15 | }
16 |
17 | search = val => {
18 | this.setState({ search: val });
19 | };
20 |
21 | render() {
22 | return (
23 |
24 |
25 |
26 |
27 |
28 |
29 | );
30 | }
31 | }
32 | export default App;
33 |
--------------------------------------------------------------------------------
/src/App.test.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 |
5 | it('renders without crashing', () => {
6 | const div = document.createElement('div');
7 | ReactDOM.render(, div);
8 | ReactDOM.unmountComponentAtNode(div);
9 | });
10 |
--------------------------------------------------------------------------------
/src/assets/empty.svg:
--------------------------------------------------------------------------------
1 |
69 |
--------------------------------------------------------------------------------
/src/assets/githublogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/src/assets/githublogo.png
--------------------------------------------------------------------------------
/src/assets/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/src/assets/loader.gif
--------------------------------------------------------------------------------
/src/assets/mentor-default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/src/assets/mentor-default.png
--------------------------------------------------------------------------------
/src/assets/mentor-default.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/mentor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/10secondsofcode/coding-ai/25c5d737e239c652aa66fb3ee9aa11793dee3be1/src/assets/mentor.png
--------------------------------------------------------------------------------
/src/components/About.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | // import { Link } from "react-router-dom";
3 |
4 | const about = () => {
5 | return (
6 |
7 |
About Page
8 |
9 | );
10 | }
11 |
12 | export default about;
--------------------------------------------------------------------------------
/src/components/Empty.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { ReactComponent as EmptySVG } from '../assets/empty.svg';
3 |
4 | function EmptyState () {
5 | return (
6 |
7 |
8 |
no mentor found
9 |
10 | );
11 | };
12 |
13 | export default EmptyState;
--------------------------------------------------------------------------------
/src/components/Filter.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const capitalize = word => {
4 | if (typeof word === 'string') {
5 | return String(word[0]).toUpperCase() + String(word.slice(1));
6 | }
7 | };
8 |
9 | const Filter = ({ data, setFilter, filter }) => {
10 | const arr = data.map(mentor =>
11 | mentor.technology.split(',').map(t => t.trim().toLowerCase())
12 | );
13 |
14 | const technologies = [...new Set([].concat.apply([], arr))]
15 | // remove technologies with empty string
16 | .filter(tech => tech.length > 0)
17 | .sort();
18 |
19 | const countries = [...new Set(data.map(mentor => mentor.country))].sort();
20 |
21 | return (
22 |
23 |
Filter
24 |
25 |
Technology
26 |
38 |
39 |
40 |
Country
41 |
51 |
52 |
53 | );
54 | };
55 |
56 | export default Filter;
57 |
--------------------------------------------------------------------------------
/src/components/Footer.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import { Link } from 'react-router-dom';
3 | import '../styles.css';
4 | import '../assets/githublogo.png';
5 |
6 | class Footer extends Component {
7 | render() {
8 | return (
9 |
10 |
Coding-AI
11 | {/*
Check us out on GitHub
*/}
12 |
13 | );
14 | }
15 | }
16 | export default Footer;
17 |
--------------------------------------------------------------------------------
/src/components/Header.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | // import Login from './Login';
3 | import { Link } from "react-router-dom";
4 | import LoginContainer from "./LoginContainer";
5 |
6 |
7 | class Header extends Component {
8 | constructor(props) {
9 | super(props);
10 | this.state = {
11 | username: "Hi!",
12 | search: "",
13 | menu: true
14 | };
15 | this.showMenu = this.showMenu.bind(this);
16 | }
17 |
18 | showMenu() {
19 | const mobileNavState = this.state.menu === true ? false : true;
20 |
21 | this.setState({
22 | menu: mobileNavState
23 | });
24 |
25 | const navMenu = document.querySelector('.navbar-collapse');
26 | if (this.state.menu === true){
27 | navMenu.classList.add('show');
28 | } else {
29 | navMenu.classList.remove('show');
30 | }
31 | };
32 |
33 | user = val => {
34 | this.setState({ username: val });
35 | };
36 |
37 | search = event => {
38 | this.setState({ search: event.target.value });
39 | };
40 |
41 | submit = event => {
42 | event.preventDefault();
43 | this.props.handleSearch(this.state.search);
44 | };
45 |
46 | render() {
47 | return (
48 |
49 |
50 |
98 |
99 |
100 | );
101 | }
102 | }
103 |
104 | export default Header;
105 |
--------------------------------------------------------------------------------
/src/components/Heart.js:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from 'react';
2 |
3 | function Heart (props) {
4 | const [ likeCount, setLikeCount ] = useState(0);
5 |
6 | useEffect(() => {
7 | getLikeCountForMentor(props.name);
8 | // eslint-disable-next-line
9 | }, []);
10 |
11 | function getLikeCountForMentor (mentorName) {
12 | const mentorLikeCount = localStorage.getItem(`${mentorName}_likeCount`);
13 | if (mentorLikeCount) {
14 | setLikeCount(parseInt(mentorLikeCount));
15 | }
16 | }
17 |
18 | function setLikeCountToLocalStorage () {
19 | setLikeCount(likeCount + 1)
20 | localStorage.setItem(`${props.name}_likeCount`, likeCount + 1);
21 | }
22 |
23 | return (
24 |
25 |
♥
26 |
{likeCount}
27 |
28 | );
29 | }
30 |
31 | export default Heart;
--------------------------------------------------------------------------------
/src/components/Home.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | // import { Link } from "react-router-dom";
3 |
4 | const home = () => {
5 | return (
6 |
7 | {/*
Home Page
*/}
8 |
9 | );
10 | };
11 |
12 | export default home;
--------------------------------------------------------------------------------
/src/components/Login.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | // import { Route, Link } from "react-router-dom";
3 |
4 | class Login extends Component {
5 | constructor() {
6 | super();
7 | this.state = {
8 | email: "",
9 | password: "",
10 | emailError: false
11 | };
12 | }
13 |
14 | canBeSubmitted() {
15 | const { password } = this.state;
16 | if (password.length > 4) {
17 | return true;
18 | }
19 | return false;
20 | }
21 |
22 | handleOnChange = evt => {
23 | this.setState({ [evt.target.name]: evt.target.value, emailError: false });
24 | };
25 |
26 | handleLoginSubmit = evt => {
27 | evt.preventDefault();
28 | const { email, password } = this.state;
29 | let re = /^([A-Za-z0-9_\-.+])+@([A-Za-z0-9_\-.])+\.([A-Za-z]{2,})$/;
30 | if (!re.test(email)) {
31 | this.setState({ emailError: true });
32 | return;
33 | }
34 | if (email === "10seconds@gmail.com" && password === "test@123") {
35 | alert("Successful Login !!!");
36 | this.props.closeModal();
37 | return;
38 | }
39 | alert("Invalid Credentials !!!");
40 | };
41 |
42 | render() {
43 | let { emailError } = this.state;
44 | return (
45 |
46 |
47 |
48 |
Login Form
49 |
90 |
91 |
92 |
93 | );
94 | }
95 | }
96 | export default Login;
97 |
--------------------------------------------------------------------------------
/src/components/LoginContainer.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react';
2 | import Login from './Login';
3 |
4 | const displayModal = {
5 | display: 'block',
6 | backgroundColor : '#FFF'
7 | };
8 |
9 | const hideModal = {
10 | display: 'none'
11 | };
12 |
13 | const themeBackground = {
14 | backgroundColor : '#6e60cc'
15 | };
16 |
17 | class LoginContainer extends Component {
18 | constructor(props){
19 | super(props);
20 |
21 | this.state = {
22 | isOpenLoginModal : false
23 | };
24 |
25 | }
26 |
27 | toggleModal = () => {
28 |
29 | this.setState({
30 | isOpenLoginModal: !this.state.isOpenLoginModal
31 | });
32 |
33 | }
34 |
35 | render() {
36 | return (
37 |
38 |
39 |
40 |
41 |
42 |
43 |
Login
44 |
45 |
46 |
47 |
50 |
51 |
52 |
53 |
54 |
55 | )
56 | }
57 | }
58 |
59 | export default LoginContainer
60 |
--------------------------------------------------------------------------------
/src/components/Mentor.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | // import Header from "./components/Header";
3 | import { data, getProduct } from "../response/response";
4 | import MentorList from "../components/MentorList";
5 | import Filter from "../components/Filter";
6 | import EmptyState from '../components/Empty';
7 |
8 | class Mentor extends Component {
9 | constructor(props) {
10 | super(props);
11 | this.updateProduct = this.updateProduct.bind(this);
12 |
13 | this.state = {
14 | Product: [],
15 | showProducts: 12,
16 | isLoading: false,
17 | filter: {
18 | technology: null,
19 | country: null
20 | }
21 | };
22 | }
23 |
24 | componentDidMount() {
25 | getProduct({
26 | startIndex: 0,
27 | getCount: this.state.showProducts,
28 | filter: null
29 | }, this.updateProduct);
30 |
31 | this.products();
32 | }
33 |
34 | get productCount() {
35 | return this.state.Product.length;
36 | }
37 |
38 | updateProduct(err, data) {
39 | this.setState({
40 | Product: this.state.Product.concat(data),
41 | filter: {
42 | technology: null,
43 | country: null
44 | }
45 | });
46 | }
47 |
48 | products() {
49 | // console.log("sdsss==>" + JSON.stringify(data));
50 |
51 | const arr = data.map(mentor =>
52 | mentor.technology.split(",").map(t => t.trim().toLowerCase())
53 | );
54 | const technologies = [...new Set([].concat.apply([], arr))].sort();
55 | const countries = [...new Set(data.map(mentor => mentor.country))].sort();
56 |
57 | if (technologies.length && countries.length) {
58 | this.setState({
59 | filter: {
60 | technology: 'reactjs', //technologies[0],
61 | country: 'India' //countries[0]
62 | }
63 | }, this.filter);
64 | }
65 |
66 | /*fetch(Data)
67 | .then(response => {
68 | console.log("sdsss==>"+JSON.stringify(response));
69 | return response;
70 | }).then(data => {
71 | this.setState({
72 | Product: data.product_list
73 | });
74 | });*/
75 | }
76 |
77 | loadMore = () => {
78 | this.setState({ isLoading: true });
79 | getProduct({
80 | startIndex: this.productCount,
81 | getCount: this.state.showProducts,
82 | filter: null
83 | }, (err, data) => {
84 | this.updateProduct(err, data);
85 | this.setState({
86 | isLoading: false
87 | });
88 | });
89 | };
90 |
91 | getSearchedProducts() {
92 | const { search } = this.props;
93 | const { showProducts } = this.state;
94 | const productList = search
95 | ? this.state.Product.filter(
96 | data => data.name.toLowerCase().indexOf(search.toLowerCase()) !== -1
97 | )
98 | : this.state.Product;
99 | return productList.slice(0, showProducts);
100 | }
101 |
102 | setFilter = e => {
103 | const { name, value } = e.target;
104 | this.setState(state => {
105 | const newState = { ...state };
106 | newState.filter[name] = value;
107 | return newState;
108 | }, this.filter);
109 | };
110 |
111 | filter = () => {
112 | const { technology, country } = this.state.filter;
113 | let Product = null;
114 | if (technology) {
115 | Product = data.filter(mentor => {
116 | const lowerCased = mentor.technology
117 | .split(",")
118 | .map(t => t.trim().toLowerCase());
119 | return lowerCased.includes(technology);
120 | });
121 | }
122 |
123 | if (country) {
124 | Product = Product.filter(
125 | mentor => mentor.country.toLowerCase() === country.toLowerCase()
126 | );
127 | }
128 |
129 | this.setState({
130 | Product
131 | });
132 | };
133 |
134 | render() {
135 | const { isLoading } = this.state;
136 | return (
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 | {this.state.Product.length ? this.state.Product.sort((a, b) => a.name > b.name).map(data => {
147 | return ;
148 | }) : }
149 |
150 |
151 |
152 | {!this.state.Product &&
153 |
156 |
}
157 |
158 |
159 | );
160 | }
161 | }
162 |
163 | export default Mentor;
164 |
--------------------------------------------------------------------------------
/src/components/MentorList.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import { Link } from "react-router-dom";
3 | import Heart from "./Heart";
4 | import { FaTwitter, FaGithub, FaLinkedinIn } from "react-icons/fa";
5 | import ReactImageFallback from "react-image-fallback";
6 |
7 | import loader from '../assets/loader.gif';
8 | import mentorImage from '../assets/mentor-default.svg';
9 |
10 | class MentorList extends Component {
11 | render() {
12 | const { data } = this.props;
13 | const techs = data.technology.split(",").filter(tech => tech.length !== 0).sort();
14 |
15 | return (
16 |
17 |
18 |
22 |
23 |
29 |
30 |
31 |
32 |
{this.props.data.name}
33 | {techs.map((tech, i) => (
34 |
35 | {tech}
36 |
37 | ))}
38 |
39 | {}
40 |
41 |
42 |
43 |
44 |
45 |
68 |
69 |
70 | );
71 | }
72 | }
73 | export default MentorList;
74 |
--------------------------------------------------------------------------------
/src/components/MentorProfile.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from 'react'
2 | import ReactImageFallback from "react-image-fallback";
3 | import data from '../response/response'
4 |
5 | import Header from './Header'
6 |
7 | import loader from '../assets/loader.gif';
8 | import mentorImage from '../assets/mentor-default.svg';
9 |
10 |
11 | class MentorProfile extends Component {
12 |
13 | state = {
14 | mentorId: null,
15 | mentorProfile: null
16 | }
17 |
18 | componentDidMount() {
19 | let id = this.props.match.params.mentorId;
20 |
21 | this.setState({
22 | mentorId: id,
23 | // eslint-disable-next-line
24 | mentorProfile: data.filter(item => item.id == id)[0]
25 | });
26 |
27 | }
28 |
29 |
30 | render() {
31 | const hasProfileData = this.state.mentorProfile ? (
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
45 |
{this.state.mentorProfile.name}
46 |
{this.state.mentorProfile.country}
47 |
{this.state.mentorProfile.biography}
48 |
{this.state.mentorProfile.technology}
49 |
50 |
51 |
52 |
53 |
54 |
55 |
Technology Stack
56 |
57 | {
58 | this.state.mentorProfile.technology.split(',').map((item, key) => {
59 | let programmingLanguage = item.toLowerCase();
60 |
61 | ///below are icons generated by devicon
62 | return
63 |
64 | //if you would like to use Font Mfizz vector icons uncomment the line bellow
65 | // return
66 |
67 |
68 |
69 | })
70 | }
71 |
72 |
73 |
74 |
75 |
76 |
77 |
) : (Loading Data
)
78 |
79 |
80 | return (
81 |
82 |
83 |
84 |
85 | {hasProfileData}
86 |
87 |
88 |
89 | )
90 | }
91 | }
92 |
93 | export default MentorProfile;
--------------------------------------------------------------------------------
/src/components/Router.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | import { Route, Switch } from "react-router-dom";
3 | //import logo from "./logo.svg";
4 |
5 | import Home from "../components/Home";
6 | import About from "../components/About";
7 | import Topics from "../components/Topics";
8 | import Topic from "../components/Topic";
9 |
10 | class Router extends Component {
11 | render() {
12 | return (
13 |
14 |
15 |
16 |
17 |
18 |
19 | );
20 | }
21 | }
22 | export default Router;
23 |
--------------------------------------------------------------------------------
/src/components/Status.js:
--------------------------------------------------------------------------------
1 | import React, { Component } from "react";
2 | // import Header from "./components/Header";
3 |
4 | class Status extends Component{
5 | render(){
6 | return(
7 |
8 |
Status Component
9 |
10 | );
11 | }
12 | }
13 | export default Status;
14 |
--------------------------------------------------------------------------------
/src/components/Topic.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Link } from "react-router-dom";
3 |
4 | const Topic = ({ match }) => {
5 | return (
6 |
7 |
{'Topic : ' + match.params.Id}
8 | Back
9 |
10 | );
11 | }
12 |
13 | export default Topic;
14 |
--------------------------------------------------------------------------------
/src/components/Topics.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import { Route, Link } from "react-router-dom";
3 | import Topic from "../components/Topic";
4 |
5 | const Topics = ({ match }) => {
6 | return (
7 |
8 |
Topics Page
9 |
10 |
Topics
11 |
12 | -
13 | Rendering with React
14 |
15 | -
16 | Components
17 |
18 | -
19 | Props v. State
20 |
21 | -
22 | Rendering with React
23 |
24 | -
25 | Components
26 |
27 | -
28 | Props v. State
29 |
30 |
31 |
32 |
33 |
34 | );
35 | };
36 |
37 | export default Topics;
38 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import { BrowserRouter, Route, Switch } from "react-router-dom";
4 | import Login from "./components/Login";
5 | import MentorProfile from "./components/MentorProfile";
6 | import App from './App';
7 | import * as serviceWorker from './serviceWorker';
8 |
9 | import 'bootstrap/dist/css/bootstrap.css';
10 | import 'devicon/devicon.git/devicon.css'
11 | import 'devicon/devicon.git/devicon-colors.css'
12 | import 'font-mfizz/dist/font-mfizz.css'
13 |
14 |
15 | ReactDOM.render(
16 |
17 |
18 |
19 |
20 |
21 |
22 | ,
23 | document.getElementById('root')
24 | );
25 |
26 | // If you want your app to work offline and load faster, you can change
27 | // unregister() to register() below. Note this comes with some pitfalls.
28 | // Learn more about service workers: http://bit.ly/CRA-PWA
29 | serviceWorker.register();
30 |
--------------------------------------------------------------------------------
/src/logo.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/src/response/response.js:
--------------------------------------------------------------------------------
1 | const data = [
2 | {
3 | id: 1,
4 | name: "Elangovan",
5 | image: "",
6 | technology: "ReactJs, Javascript",
7 | country: "India",
8 | biography: "I am Full Stack Web Developer"
9 | },
10 | {
11 | id: 2,
12 | name: "Darpan",
13 | image:
14 | "https://avatars0.githubusercontent.com/u/14301996?s=400&u=71e9200f5037c290c092f01c3ec408e5705e4cca&v=4",
15 | technology: "Java, Nodejs, AngularJS, ReactJS, Spring",
16 | country: "India",
17 | biography: "I am Full Stack Web Developer and a ML enthusiast"
18 | },
19 | {
20 | id: 3,
21 | name: "Arseny Boykov",
22 | image: "https://github.com/MrMrRobat",
23 | technology: "Python, async.io",
24 | country: "Russia",
25 | biography: "Make staff since 2000. Love cakes and beer."
26 | },
27 | {
28 | id: 4,
29 | name: "Martyn Son",
30 | image: "https://github.com/martyns0n",
31 | technology: "Javascript, React, Eslint/Stylelint",
32 | country: "Russia",
33 | biography: "Three years experience in web development"
34 | },
35 | {
36 | id: 5,
37 | name: "Tanay",
38 | image: "https://avatars2.githubusercontent.com/u/10216863?s=400&v=4",
39 | technology: "Javascript",
40 | country: "India",
41 | biography: "Frontend Developer"
42 | },
43 | {
44 | id: 6,
45 | name: "Krish",
46 | image: "",
47 | technology: "Java, ReactJs, Javascript",
48 | country: "United States",
49 | biography: "I am Full Stack Web Developer"
50 | },
51 | {
52 | id: 7,
53 | name: "Rashid",
54 | image: "https://avatars2.githubusercontent.com/u/1191631",
55 | technology: "Javascript, Angular, ReactJS, NodeJS",
56 | country: "India",
57 | biography: "I am a Frontend Engineer"
58 | },
59 | {
60 | id: 8,
61 | name: "Gurpreet Singh",
62 | image: "https://avatars2.githubusercontent.com/u/8161329",
63 | technology: "Javascript, ReactJS",
64 | country: "Germany",
65 | biography: "Lead Front End Developer"
66 | },
67 | {
68 | id: 9,
69 | name: "Atul Krishna",
70 | image: "https://avatars3.githubusercontent.com/u/11033984",
71 | technology: "Javascript, ReactJs, Angular, Python, Java",
72 | country: "India",
73 | biography: "I am Software Engineer based in Bengaluru, India."
74 | },
75 | {
76 | id: 10,
77 | name: "Mayank Kumar",
78 | image: "https://avatars0.githubusercontent.com/u/27151470?s=100&v=4",
79 | technology: "Java, Javascript",
80 | country: "India",
81 | biography: "Android Developer."
82 | },
83 | {
84 | id: 11,
85 | name: "Will",
86 | image: "https://avatars0.githubusercontent.com/u/10842135",
87 | technology: "Javascript, Java",
88 | country: "USA",
89 | biography:
90 | "I am Sr Project Manager for the largest entertainment company in the world!"
91 | },
92 | {
93 | id: 12,
94 | name: "Weje Emmauel",
95 | image:
96 | "https://s.gravatar.com/avatar/82880ef540f92d552e36a26bf79ca9df?s=80",
97 | technology: "PHP(Laravel), Ruby, React JS",
98 | country: "Ireland",
99 | biography: "I'm a software engineer"
100 | },
101 | {
102 | id: 13,
103 | name: "Matt",
104 | image: "https://avatars2.githubusercontent.com/u/15995932",
105 | technology: "Javascript, ReactJS, NodeJS",
106 | country: "USA",
107 | biography:
108 | "I am a university professor with head in the cloud dreams of achieving Financial Independence through Full Stack Web Development."
109 | },
110 | {
111 | id: 14,
112 | name: "Saliban",
113 | image: "",
114 | technology: "Javascript,React.js",
115 | country: "Iran",
116 | biography: "I am a FrontEnd developer"
117 | },
118 | {
119 | id: 15,
120 | name: "John",
121 | image: "",
122 | technology: "Php, Javascript",
123 | country: "India",
124 | biography: "I am Full Stack Web Developer"
125 | },
126 | {
127 | id: 16,
128 | name: "Gabriel",
129 | image: "https://avatars0.githubusercontent.com/u/56734377?s=40&v=4",
130 | technology: "Python",
131 | country: "United Kingdom",
132 | biography: "I am study my Master in Computer Science"
133 | },
134 | {
135 | id:17,
136 | name: "Mayank",
137 | image: "https://avatars1.githubusercontent.com/u/23161291?s=100&v=4",
138 | technology: "ReactJs, Java, Python",
139 | country: "India",
140 | biography: "I am working as a backend-developer."
141 | },
142 | {
143 | id: 18,
144 | name: "Naresh",
145 | image: "",
146 | technology: "AngularJS, Javascript",
147 | country: "India",
148 | biography: "I am Full Stack Web Developer"
149 | },
150 | {
151 | id: 19,
152 | name: "Abdul",
153 | image: "",
154 | technology: "Angularjs, Python",
155 | country: "India",
156 | biography: "I am Full Stack Web Developer"
157 | },
158 | {
159 | id: 20,
160 | name: "Haidar Rifki",
161 | image: "https://avatars3.githubusercontent.com/u/19185336",
162 | technology: "Javascript, NodeJS, PHP",
163 | country: "Indonesia",
164 | biography:
165 | "I am Software Engineer based in Surakarta, Central Java, Indonesia."
166 | },
167 | {
168 | id: 21,
169 | name: "Diego Rondão",
170 | image: "https://avatars1.githubusercontent.com/u/13041373",
171 | technology: "C#, JS, PHP",
172 | country: "SÃO PAULO - BRAZIL",
173 | biography: "I am Full Stack Web Developer"
174 | },
175 | {
176 | id: 22,
177 | name: "Meriem Zaid",
178 | image: "https://github.com/iMeriem",
179 | technology: "JavaScript, Python",
180 | country: "Morocco",
181 | biography: "I write code for living"
182 | },
183 | {
184 | id: 23,
185 | name: "Abdellah Ramadan",
186 | image: "https://github.com/giantthinker",
187 | technology: "Laravel, Reactjs, Angular, PHP",
188 | country: "Cameroon",
189 | biography: "Software development as a career"
190 | },
191 | {
192 | id: 24,
193 | name: 'Leanne Lacey',
194 | image: 'https://github.com/Leannelb',
195 | technology: 'JavaScript, Angular, HTML, CSS, SASS, NodeJS', //'Php, Javascript',
196 | country: 'Ireland', //india
197 | biography: 'I\'m a Developer from green \'ol Ireland. Working mainly with Angular 2'
198 | },
199 | {
200 | id: 25,
201 | name: "Waing La Min Lwin",
202 | image: "https://github.com/archonn",
203 | technology: "Nodejs, React, Python",
204 | country: "Myanmar",
205 | biography: "Software developer focusing on building ML-powered products"
206 | },
207 | {
208 | id: 26,
209 | name: "Rafidah Affendi",
210 | image: "https://github.com/r4fidah",
211 | technology: "HTML, JavaScript, Python",
212 | country: "Malaysia",
213 | biography: "Self-taught Data Scientist"
214 | },
215 | {
216 | id:27,
217 | name: "Alandouglas",
218 | image: "https://avatars0.githubusercontent.com/u/42749979?s=400&u=43129c15c770f7c6c4e473e2e92b0339052a019b&v=4",
219 | technology: "PHP, Javascript, HTML, CSS, Python",
220 | country: "Brazil",
221 | biography: "I am a jr full-stack dev in formation"
222 | },
223 | {
224 | id:28,
225 | name: "Caleb",
226 | image: "https://avatars3.githubusercontent.com/u/17759183",
227 | technology: "Javascript, Reactjs, Java, Ruby",
228 | country: "USA",
229 | biography: "Junior software developer"
230 | },
231 | {
232 | id:29,
233 | name: 'Kay Ogunbowale',
234 | image: 'https://avatars0.githubusercontent.com/u/21027632',
235 | technology: 'Nodejs, Android, Java, Javascript',
236 | country: 'Nigeria',
237 | biography: 'Passionate software developer'
238 | },
239 | {
240 | id:30,
241 | name: "Razvan Sofian",
242 | image: "https://github.com/Rufusnu",
243 | technology: "Python, C++, C#, GDScript",
244 | country: "Romania",
245 | biography: "I am a full time student at computer science in Cluj, Romania"
246 | },
247 | {
248 | id:31,
249 | name: "Manjeet Singh",
250 | image: "https://avatars2.githubusercontent.com/u/14962072?s=460&v=4",
251 | technology: "Python, JavaScript, HTML",
252 | country: "India",
253 | biography: "Web Developer @cityexploro Technical Scripter @geeksforgeeks Technology Enthusiast and a Sports Programmer."
254 | },
255 | {
256 | id:32,
257 | name: "Arshad Kazmi",
258 | image: "https://avatars2.githubusercontent.com/u/4654382?s=460&v=4",
259 | technology: "JavaScript, Python",
260 | country: "India",
261 | biography: "Let's remove the `lib` directory ➿"
262 | },
263 | {
264 | id:33,
265 | name: "Ananda Aguiar",
266 | image: "https://github.com/Anandinha",
267 | technology: "Java, JavaScript, HTML, CSS",
268 | country: "Brasil",
269 | biography: "Computer Engineer Student"
270 | },
271 | {
272 | id:34,
273 | name: "Adarsha Meghanada",
274 | image: "https://github.com/adarhp0",
275 | technology: "HTML, JavaScript, NodeJS, Python",
276 | country: "India",
277 | biography: "Full stack Developer"
278 | },
279 | {
280 | id:35,
281 | name: "Celestin Niyonsaba",
282 | image: "https://github.com/niyoceles",
283 | technology: "JavaScript, NodeJS, React, Python",
284 | country: "Rwanda",
285 | biography: "Full stack Developer"
286 | }
287 | ];
288 |
289 | function getProduct({startIndex, getCount, filter}, callback) {
290 | let filteredData = data;
291 | if (filter) {
292 | // TODO: filter array and change filteredData
293 | }
294 | const result = filteredData.slice(startIndex, startIndex + getCount);
295 | callback(false, result);
296 |
297 | // additional return
298 | return result;
299 | }
300 |
301 | export default data;
302 | export {data, getProduct};
303 |
--------------------------------------------------------------------------------
/src/serviceWorker.js:
--------------------------------------------------------------------------------
1 | // This optional code is used to register a service worker.
2 | // register() is not called by default.
3 |
4 | // This lets the app load faster on subsequent visits in production, and gives
5 | // it offline capabilities. However, it also means that developers (and users)
6 | // will only see deployed updates on subsequent visits to a page, after all the
7 | // existing tabs open on the page have been closed, since previously cached
8 | // resources are updated in the background.
9 |
10 | // To learn more about the benefits of this model and instructions on how to
11 | // opt-in, read http://bit.ly/CRA-PWA.
12 |
13 | const isLocalhost = Boolean(
14 | window.location.hostname === 'localhost' ||
15 | // [::1] is the IPv6 localhost address.
16 | window.location.hostname === '[::1]' ||
17 | // 127.0.0.1/8 is considered localhost for IPv4.
18 | window.location.hostname.match(
19 | /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
20 | )
21 | );
22 |
23 | export function register(config) {
24 | //if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
25 | // The URL constructor is available in all browsers that support SW.
26 | const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
27 | if (publicUrl.origin !== window.location.origin) {
28 | // Our service worker won't work if PUBLIC_URL is on a different origin
29 | // from what our page is served on. This might happen if a CDN is used to
30 | // serve assets; see https://github.com/facebook/create-react-app/issues/2374
31 | return;
32 | }
33 |
34 | window.addEventListener('load', () => {
35 | const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
36 |
37 | if (isLocalhost) {
38 | // This is running on localhost. Let's check if a service worker still exists or not.
39 | checkValidServiceWorker(swUrl, config);
40 |
41 | // Add some additional logging to localhost, pointing developers to the
42 | // service worker/PWA documentation.
43 | navigator.serviceWorker.ready.then(() => {
44 | console.log(
45 | 'This web app is being served cache-first by a service ' +
46 | 'worker. To learn more, visit http://bit.ly/CRA-PWA'
47 | );
48 | });
49 | } else {
50 | // Is not localhost. Just register service worker
51 | registerValidSW(swUrl, config);
52 | }
53 | });
54 | // }
55 | }
56 |
57 | function registerValidSW(swUrl, config) {
58 | navigator.serviceWorker
59 | .register(swUrl)
60 | .then(registration => {
61 | registration.onupdatefound = () => {
62 | const installingWorker = registration.installing;
63 | installingWorker.onstatechange = () => {
64 | if (installingWorker.state === 'installed') {
65 | if (navigator.serviceWorker.controller) {
66 | // At this point, the updated precached content has been fetched,
67 | // but the previous service worker will still serve the older
68 | // content until all client tabs are closed.
69 | console.log(
70 | 'New content is available and will be used when all ' +
71 | 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'
72 | );
73 |
74 | // Execute callback
75 | if (config && config.onUpdate) {
76 | config.onUpdate(registration);
77 | }
78 | } else {
79 | // At this point, everything has been precached.
80 | // It's the perfect time to display a
81 | // "Content is cached for offline use." message.
82 | console.log('Content is cached for offline use.');
83 |
84 | // Execute callback
85 | if (config && config.onSuccess) {
86 | config.onSuccess(registration);
87 | }
88 | }
89 | }
90 | };
91 | };
92 | })
93 | .catch(error => {
94 | console.error('Error during service worker registration:', error);
95 | });
96 | }
97 |
98 | function checkValidServiceWorker(swUrl, config) {
99 | // Check if the service worker can be found. If it can't reload the page.
100 | fetch(swUrl)
101 | .then(response => {
102 | // Ensure service worker exists, and that we really are getting a JS file.
103 | if (
104 | response.status === 404 ||
105 | response.headers.get('content-type').indexOf('javascript') === -1
106 | ) {
107 | // No service worker found. Probably a different app. Reload the page.
108 | navigator.serviceWorker.ready.then(registration => {
109 | registration.unregister().then(() => {
110 | window.location.reload();
111 | });
112 | });
113 | } else {
114 | // Service worker found. Proceed as normal.
115 | registerValidSW(swUrl, config);
116 | }
117 | })
118 | .catch(() => {
119 | console.log(
120 | 'No internet connection found. App is running in offline mode.'
121 | );
122 | });
123 | }
124 |
125 | export function unregister() {
126 | if ('serviceWorker' in navigator) {
127 | navigator.serviceWorker.ready.then(registration => {
128 | registration.unregister();
129 | });
130 | }
131 | }
132 |
--------------------------------------------------------------------------------
/src/styles.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --primary-color-1: #484389;
3 | --primary-color-2: #6e60cc;
4 | --secondary-color-1: #007bff;
5 | --tertiary-color-1: #ced4da;
6 | --white: #fff;
7 | --black: #000;
8 | }
9 |
10 | body {
11 | padding: 0;
12 | margin: 0 auto !important;
13 | width: 100%;
14 | font-family: sans-serif;
15 | }
16 |
17 | .modal-content {
18 | background-color : linear-gradient( 165deg, #6e60cc, #484389) !important;
19 | }
20 |
21 | @media screen and (max-width: 767px) {
22 | .empty-state {
23 | width: 100% !important;
24 | margin-top: 2rem !important;
25 | }
26 |
27 | .empty-state svg {
28 | width: 15rem;
29 | }
30 |
31 | .empty-state p {
32 | font-size: 26px !important;
33 | }
34 | }
35 |
36 | @media screen and (max-width: 998px) {
37 | body {
38 | width: 100% !important;
39 | overflow-x: hidden;
40 | }
41 |
42 | .navbar-collapse {
43 | display: flex;
44 | flex-direction: column;
45 | }
46 |
47 | .navbar-nav.mr-auto {
48 | margin-right: 0 !important;
49 | }
50 |
51 | .navbar-collapse .form-inline {
52 | order: 3;
53 | }
54 |
55 | .loadMore button {
56 | margin: 20px 10px;
57 | }
58 | }
59 |
60 | i {
61 | font-size: 4em;
62 | margin-right: 0.3em;
63 | display: inline-block;
64 | }
65 |
66 | .mentor-img-thumbnail {
67 | padding: 0.25rem;
68 | /* background-color: #fff; */
69 | /* border: 1px solid #dee2e6; */
70 | border-radius: 0.25rem;
71 | max-width: 100%;
72 | /* height: auto; */
73 | height: 200px;
74 | object-fit: contain;
75 | object-position: center;
76 | }
77 | .App {
78 | text-align: center;
79 | }
80 | .App-logo {
81 | height: 80px;
82 | }
83 | .App-header {
84 | padding: 20px;
85 | color: white;
86 | }
87 | .App-title {
88 | font-size: 1.5em;
89 | }
90 | .App-intro {
91 | font-size: large;
92 | }
93 | @keyframes App-logo-spin {
94 | from {
95 | transform: rotate(0deg);
96 | }
97 | to {
98 | transform: rotate(360deg);
99 | }
100 | }
101 |
102 | .thememain-header {
103 | background: linear-gradient(
104 | 165deg,
105 | var(--primary-color-2),
106 | var(--primary-color-1)
107 | ) !important;
108 | color: #fff !important;
109 | }
110 |
111 | .w-100 {
112 | height: 400px;
113 | }
114 |
115 | .login {
116 | margin-right: 10px;
117 | background-color: none !important;
118 | }
119 |
120 | .product {
121 | background-color: none;
122 | width: 300px;
123 | height: 450px;
124 | margin-top: 50px;
125 | border: 1px solid black;
126 | padding: 25px;
127 | margin: 25px;
128 | }
129 |
130 | .center {
131 | display: block;
132 | margin-left: auto;
133 | margin-right: auto;
134 | height: 100px;
135 | width: 100px;
136 | border-radius: 50%;
137 | margin-bottom: 10px;
138 | }
139 |
140 | .card-img-top {
141 | height: 300px;
142 | width: 300px;
143 | }
144 |
145 | .input {
146 | width: 70% !important;
147 | display: block;
148 | margin-left: auto;
149 | margin-right: auto;
150 | }
151 |
152 | .text-center {
153 | display: block;
154 | }
155 |
156 | .modal-content {
157 | background-color: var(--tertiary-color-1) !important;
158 | }
159 |
160 | .ErrorMessage {
161 | color: rgb(197, 0, 0);
162 | font: bold;
163 | margin-bottom: 5%;
164 | text-align: center;
165 | }
166 |
167 | .userName {
168 | text-align: center;
169 | margin-right: 10px;
170 | }
171 |
172 | .card {
173 | padding-top: 10px;
174 | padding-left: 10px;
175 | padding-right: 10px;
176 | /* width: 320px;
177 | height: 420px; */
178 | position: relative;
179 | background: #fff;
180 | color: #758f9b;
181 | border-radius: 5px;
182 | box-shadow: 0px 15px 40px rgba(0, 0, 0, 0.05);
183 | border: none;
184 | margin-bottom: 5px;
185 | text-align: left;
186 | transition: all 0.25s ease-in-out;
187 | min-height: 300px;
188 | }
189 |
190 | .card:hover {
191 | box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.15);
192 | text-decoration: none;
193 | transform: translateY(-5px);
194 | }
195 |
196 | .card .content-card {
197 | padding-top: 10px;
198 | margin-bottom: 20px;
199 | text-align: center;
200 | }
201 |
202 | .card-link {
203 | color: black;
204 | }
205 |
206 | .card-link :hover {
207 | color: black;
208 | }
209 | .card h3 {
210 | font-size: 18px;
211 | font-weight: bold;
212 | margin-bottom: 0px;
213 | }
214 |
215 | .card p {
216 | font-size: 14px;
217 | margin-bottom: 0;
218 | }
219 |
220 | .thumbnail {
221 | width: 60%;
222 | }
223 |
224 | .card .tags {
225 | display: inline-flex;
226 | background-color: var(--primary-color-1);
227 | color: white;
228 | font-size: 12px;
229 | font-weight: 500;
230 | margin: 3px;
231 | padding: 3px 6px;
232 | border-radius: 0.6rem;
233 | }
234 |
235 | .card-link .tags :hover {
236 | color: white;
237 | }
238 | .card .bottom-info {
239 | font-size: 14px;
240 | width: 100%;
241 | display: flex;
242 | justify-content: space-between;
243 | padding-right: 1em;
244 | padding-left: 1em;
245 | }
246 |
247 | .productList {
248 | }
249 |
250 | .productItems {
251 | margin: 5px;
252 | padding: 10px;
253 | border: 1px solid var(--tertiary-color-1);
254 | }
255 |
256 | .productDetailsPage {
257 | padding-top: 10px;
258 | }
259 |
260 | .productDetailsPage .productImage {
261 | border: 1px solid #ced4da;
262 | margin: 28px;
263 | margin-top: 1px;
264 | padding-top: 15px;
265 | padding-bottom: 15px;
266 | }
267 |
268 | .productDesc h3 {
269 | float: left;
270 | }
271 |
272 | .productLeftImage {
273 | padding: 10px;
274 | }
275 |
276 | .product-Top {
277 | margin-top: 9px;
278 | }
279 |
280 | #recording-instructions {
281 | text-align: left;
282 | padding-left: 15px;
283 | }
284 |
285 | .labelBold {
286 | font-weight: bold !important;
287 | }
288 |
289 | #navbarTogglerDemo02 .form-inline {
290 | padding-right: 15px;
291 | }
292 |
293 | .loginCheck {
294 | color: red;
295 | }
296 |
297 | .logoColor {
298 | color: #bd2130 !important;
299 | font-weight: bold;
300 | font-size: 30px !important;
301 | }
302 |
303 | .title {
304 | color: var(--white) !important;
305 | }
306 |
307 | .navbar {
308 | color: var(--white) !important;
309 | }
310 |
311 | .navbar-collapse {
312 | color: var(--white) !important;
313 | }
314 |
315 | .navbar a {
316 | color: var(--white) !important;
317 | }
318 |
319 | .navbar-link {
320 | transition: transform 0.4s;
321 | }
322 |
323 | .navbar-link:hover {
324 | transform: translateY(-2px);
325 | box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.15);
326 | }
327 |
328 | .whiteColor {
329 | color: var(--white) !important;
330 | }
331 |
332 | .loadMore button {
333 | background: linear-gradient(
334 | 165deg,
335 | var(--primary-color-2),
336 | var(--primary-color-1)
337 | );
338 | color: var(--white);
339 | width: 60vh;
340 | padding: 20px;
341 | margin: 20px auto;
342 | font-weight: 600;
343 | border: none;
344 | }
345 |
346 | .heart-container {
347 | cursor: pointer;
348 | display: flex;
349 | }
350 |
351 | .heart-container:hover {
352 | color: var(--secondary-color-1);
353 | }
354 |
355 | .heart {
356 | font-size: 1rem;
357 | margin-right: 5px;
358 | }
359 |
360 | .like-count {
361 | font-size: 1rem;
362 | }
363 |
364 | .like-count:hover {
365 | color: var(--secondary-color-1);
366 | }
367 |
368 | .dropdown {
369 | margin-bottom: 10px;
370 | }
371 | .social-media {
372 | display: flex;
373 | align-items: center;
374 | justify-content: space-around;
375 | border-top: 1px solid var(--tertiary-color-1);
376 | margin-left: -10px;
377 | margin-right: -10px;
378 | padding: 10px;
379 | }
380 |
381 | .filter-set {
382 | font-weight: 100;
383 | font-size: 20px;
384 | }
385 |
386 | .filter-header {
387 | font-weight: 100;
388 | font-size: 40px;
389 | letter-spacing: 2px;
390 | border-bottom: 1px solid black;
391 | }
392 |
393 | .filter-row {
394 | /* border: 1px solid black; */
395 | }
396 |
397 | .empty-state {
398 | width: 70%;
399 | margin: 5px auto;
400 | }
401 |
402 | .empty-state p {
403 | margin-top: 10px;
404 | text-transform: capitalize;
405 | font-weight: 100;
406 | font-size: 40px;
407 | letter-spacing: 2px;
408 | color: var(--tertiary-color-1);
409 | }
410 |
411 | @media screen and (min-width: 575px) {
412 | .thememain-white {
413 |
414 | }
415 | }
416 |
417 | .Footer {
418 | background-color: #6A5DC6;
419 | margin-top: 15px;
420 | font-size: 1rem;
421 | color: #fff;
422 | display: flex;
423 | flex-direction: row;
424 | height: 5vh;
425 | justify-content: space-evenly;
426 | align-items: center;
427 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
428 | }
429 |
430 | .Footer a {
431 | color: white;
432 | }
433 |
434 |
--------------------------------------------------------------------------------