diff --git a/CONTRIBUTION-GUIDELINES.md b/CONTRIBUTION-GUIDELINES.md index c6d102a8..9ea4a7af 100644 --- a/CONTRIBUTION-GUIDELINES.md +++ b/CONTRIBUTION-GUIDELINES.md @@ -85,7 +85,7 @@ git checkout -b add-Xander-Clemens ## Step 5. FILL OUT your JSON info Ringed Planet To fill out the given JSON code, follow these instructions: 1. Replace "YOUR_NAME" with your actual name in all occurrences. -2. Replace "YOUR_CITY_COUNTRY_AND_FLAG" with your city, country, and flag White Flag Chequered FlagBlack Flagemoji. +2. Replace "YOUR_CITY_COUNTRY_AND_FLAG" with your city, country, and country flag White Flag Chequered FlagBlack Flagemoji. 3. Replace "GITHUB_PROFILE_URL" with the URL of your GitHub profile. 4. Replace "PASTE_WHAT_YOU_WANT_TO_DO_BEFORE_YOU_DIE" with a text describing what you want to do before you die. * This is your time to think Thinking Face and reflect on what YOU want to do before you die and share it here. This text will describe the image you upload in the bid_image folder. Please limit your text to 130 words. diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 32eb21e2..29a4cb93 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -148,5 +148,131 @@ + + + + Luciano Juarez +
+ Luciano Juarez +
+ + + + + + +
+ Tyler Celestin +
+ + + + + + + + +
+ Negar Nasiri +
+ + + + + + +
+ Hanny Jangra +
+ + + + + + +
+ Sangjune Lee +
+ + + + + + +
+ Tomás Arrativel +
+ + + + + + +
+ Ben Tracy +
+ + + + + + +
+ Varun Patodia +
+ + + + + + + +
+ Dinesh Anbazhagan +
+ + + + + + + +
+ ENIACCC +
+ + + diff --git a/README.md b/README.md index a597d22e..8d6b3a9d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,25 @@ https://github.com/BeforeIDieCode/BeforeIDieAchievements/assets/120526253/69f2ca [![Hits](https://hits.sh/github.com/BeforeIDieCode/BeforeIDieAchievements.svg?style=flat&label=Visitors&color=014BAD&labelColor=FCE93B)](https://hits.sh/github.com/BeforeIDieCode/BeforeIDieAchievements/) +[![issues closed](https://img.shields.io/github/issues-closed/BeforeIDieCode/BeforeIDieAchievements)](https://github.com/BeforeIDieCode/BeforeIDieAchievements/issues) +[![PRs closed](https://img.shields.io/github/issues-pr-closed/BeforeIDieCode/BeforeIDieAchievements)](https://github.com/BeforeIDieCode/BeforeIDieAchievements/pulls) +[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) +[![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/) +→ come look at our [good first issues](https://github.com/BeforeIDieCode/BeforeIDieAchievements/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + + +_Read this in [other languages](https://github.com/BeforeIDieCode/BeforeIDieAchievements/blob/main/translations/Translations.md)_ + +

+ + + + + + +

+ # BeforeIDieAchievements 🌟 Welcome to BeforeIDieAchievements Waving Hand, an open source project that helps developers make their first pull request and contribute to open source projects. View the [live Link](https://before-i-die-achievements.vercel.app/). diff --git a/ROADMAP.md b/ROADMAP.md index 22a17bdd..f82f9aa0 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -5,13 +5,44 @@ The goals Kitchen Knife. + +# Current List of Open Issues that need to be Created + +The following list comes from the feedback from contributor [Tyler Celestin](https://github.com/ccelest1) + +- [✅] dummy images weren't elucidated or even mentioned in the contribution-guidelines, but when i took a look at the code i deciphered it was the images above. The profile photo and the photo of what we want to achieve makes sense, but I wanted to really understand what i should put for the dummy and i decided to put where I am from and fit the aesthetic that I thought was so nice and calming. CREATED FOR [ISSUE #45](https://github.com/BeforeIDieCode/BeforeIDieAchievements/issues/45) + +- [✅] I think you can be more clear about what people should post in terms of what they want to do before they die. A few of them I thought were incredibly meaningful, but there some of them I thought were out of place and jarring. CREATED FOR [ISSUE #47](https://github.com/BeforeIDieCode/BeforeIDieAchievements/issues/47) + +- [✅] Like you said in the contributing.md, it should be something significant and extrinsic separate from just the journey of software itself +I saw this in the contributing.md and was wondering where this was and if needs to be changed Replace "YOUR_CITY_COUNTRY_AND_FLAG" with your city, country, and flag White Flag Chequered FlagBlack Flagemoji. I saw that instead of the emoji, it was the country abbreviated. FIXED MANUALLY SEE [commit 32d45c5](https://github.com/BeforeIDieCode/BeforeIDieAchievements/commit/32d45c5519e515dfb431230f94162eac355d5016) + +- [ ] Additionally, while the design is good for the current number of contributors (1) the images will get distorted and it may do some good to have a slideshow for the dummy images as opposed to them being static so they are crowded together, (2) the same should apply for the bottom as well + +- [✅] The design currently is fine, but I'm wondering if theres a way that it can be updated/modernized without sacrificing its artistic integrity. +I also found the rainbow background of text, very distracting. It would be nice if either people can decide what color they can have for the background of text or if it can be changed to a more neutral but pleasing color. +CREATED FOR [ISSUE #48](https://github.com/BeforeIDieCode/BeforeIDieAchievements/issues/48) +- [ ] I also noticed that certain times, the photo dimension would result in info about users being cut off if perhaps your window was minimized or on different screens. + +- [ ] I'm just wondering if this gets bigger, how you will handle content moderation. + +- [ ] Also I checked out the about.md and that it was incredibly inspiring, I wish that was presented in a more immediate way or presented to the user so they get the grasp of the project better + + + + + + + + + The following are a list of ideas to get started and thinking Owl about how to continue to grow and build upon this project. - Ensure responsive screen adaptation to make the Before I Die Code show up well on mobile and other screen sizes. - Add React Native code to this project so that it can be used on mobile. - Add a Maps page that pinpoints users to the location they identified in the JSON file. -- ~~Add a clickable contribution page that displays all members who have contributed to the project.~~ +- Add a clickable contribution page that displays all members who have contributed to the project. - Add the ability for contributors to list other social media platforms for contact information and have that displayed when you click on the Before I Die Image. - Before clicking on a contributor's avatar to direct the viewer to the user's profile, add a small GitHub image that will be displayed over the avatar image to let the user know where they will be taken when clicked. - Once enough user data has been received, add Python code and libraries to extract data to display the most common or unique activities individuals want to do before they die. @@ -37,8 +68,29 @@ Integrate with wearable devices like smart watches to track progress on fitness/ - Analyze data to identify trends and correlations between demographics, interests etc. and goals. - using the Python for analyzing the data of contributors' locations in your open-source project and creating a high-quality UI design map to display their locations, you can use the Python library called ["Leafmap"](https://leafmap.org/). - Adding users ability to contribute by verifying identity using the OAuth token to authenticate to Google, LinkedIn, Github. OAuth is an open standard for authorization that allows third-party applications to access user data from various services such as Google, LinkedIn, and GitHub without requiring the user to share their login credentials. OAuth provides a secure and standardized way for users to grant access to their data to third-party applications. + +### Machine Learning and AI Ideas +- Build a machine learning model that analyzes people's "before I die" goals and categorizes them into different themes (e.g. travel, career, relationships, thrills, etc.). You could visualize the results in interesting ways. +- Use natural language processing to generate word clouds from the text of people's submissions, highlighting the most common dreams and aspirations. +- Create a chatbot that engages visitors in a conversation about their dreams and bucket list goals. The bot could provide encouraging responses and thought-provoking questions to spur reflection. +- Implement image recognition on the uploaded photos to auto-tag them with relevant keywords and categories. This makes the images more findable and shareable. +- Build a recommendation engine that suggests related or commonly paired goals to users as they submit theirs. This could help spark new ideas. +- Analyze the location data attached to submissions to identify geographical trends and hotspots for certain goals. Create data visualizations on a map.
+ +### Backend ideas +- Build a REST API that handles CRUD operations on the goals/dreams data. This would allow creating, reading, updating and deleting goals via API instead of directly editing JSON. +- Add user authentication so people can create accounts. Associate goals with user accounts rather than just having a collective pool of anonymous goals. +- Allow uploading images to cloud storage like S3 instead of storing locally. The API could handle uploading images on goal creation. +- Implement upvoting/reactions on goals. The API would need to handle storing reaction counts and which goals a user has reacted to. +- Build more advanced search/filtering of goals, like by keywords, location, popularity, etc. The API can handle search logic. +- Add ability to "favorite" or "save" goals you like. The API would store these associations per user. +- Suggest similar or commonly associated goals through the API via machine learning models analyzing the data. +- Create admin dashboard to moderate goals, block/ban users, pull analytics through the API. +- Implement email/notification features, commenting, social connections between users via the API. +- Use API to auto-generate the CONTRIBUTORS.md file listing contributors. +- The key is to offload data management and complex logic to a serverless backend API. This improves extensibility, efficiency and sets the stage for more advanced features. #### Review the CONTRIBUTION_GUIDELINE to make sure that it covers and answers the following: - Technologies used - How to report bugs @@ -50,3 +102,8 @@ Integrate with wearable devices like smart watches to track progress on fitness/ - Link to a discussion forum or how people can ask for help - Project architecture (nice to have) - Known issues +- Review this Dev.io article and create a new issue for enhancing the contribution guide [article](https://dev.to/opensauced/how-to-make-a-delicious-contributing-guide-4bp3) +- additional source for open source education for contributors [Open Source Contribution University](https://www.codetriage.com/university) +- additional source for creating a pull request template [Dev.to article](https://dev.to/opensauced/how-to-create-a-good-pull-request-template-and-why-you-should-add-gifs-4i0l) +- additional source for preparing for Hacktoberfest [Dev.tio article](https://dev.to/virtualcoffee/preptember-maintainer-powerups-4m1n) +- Consider adding a page to be a resources page for individuals to find high quality sources for learning more and getting involved in open source project. For example why get involved in open source, projects that are open source, continually contributing. diff --git a/THANK_YOU.md b/THANK_YOU.md new file mode 100644 index 00000000..c64f0c33 --- /dev/null +++ b/THANK_YOU.md @@ -0,0 +1,10 @@ +# This file documents weekly video updates and thank you messages to contributors who have participated in the development of Before I Die Code. + +### Week 3 Contributions - September 5, 2023 + +[![Alt text](https://img.youtube.com/vi/UOgoCJ55E-Q/hqdefault.jpg)](https://www.youtube.com/watch?v=UOgoCJ55E-Q) +### Week 2 Contributions - August 29, 2023 + +[![Alt text](https://img.youtube.com/vi/B2R5mjCQrs4/0.jpg)](https://www.youtube.com/watch?v=B2R5mjCQrs4) +### Week 1 Contributions - August 22, 2023 +[![Alt text](https://img.youtube.com/vi/-RPegKp4zSc/0.jpg)](https://www.youtube.com/watch?v=-RPegKp4zSc) diff --git a/package-lock.json b/package-lock.json index c08a1cf1..9377a554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,13 +11,17 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^12.1.4", "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.0", + "i18next": "^23.5.1", "iconsax-react": "^0.0.8", "prop-types": "^15.8.1", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-i18next": "^13.2.2", "react-masonry-css": "^1.0.16", "react-scripts": "5.0.0", "react-simple-typewriter": "^5.0.1", + "use-sound": "^4.0.1", "web-vitals": "^2.1.4" } }, @@ -1771,11 +1775,11 @@ } }, "node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" @@ -1793,6 +1797,11 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, "node_modules/@babel/template": { "version": "7.16.7", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", @@ -4447,6 +4456,29 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", + "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -7390,9 +7422,9 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "node_modules/follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -7913,6 +7945,11 @@ "node": ">= 6.0.0" } }, + "node_modules/howler": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.3.tgz", + "integrity": "sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==" + }, "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -7987,6 +8024,14 @@ "node": ">=12" } }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "dependencies": { + "void-elements": "3.1.0" + } + }, "node_modules/html-webpack-plugin": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", @@ -8121,6 +8166,28 @@ "node": ">=10.17.0" } }, + "node_modules/i18next": { + "version": "23.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.5.1.tgz", + "integrity": "sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "dependencies": { + "@babel/runtime": "^7.22.5" + } + }, "node_modules/iconsax-react": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/iconsax-react/-/iconsax-react-0.0.8.tgz", @@ -12846,6 +12913,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -13127,6 +13199,27 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz", "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA==" }, + "node_modules/react-i18next": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.2.2.tgz", + "integrity": "sha512-+nFUkbRByFwnrfDcYqvzBuaeZb+nACHx+fAWN/pZMddWOCJH5hoc21+Sa/N/Lqi6ne6/9wC/qRGOoQhJa6IkEQ==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -14997,6 +15090,17 @@ "punycode": "^2.1.0" } }, + "node_modules/use-sound": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/use-sound/-/use-sound-4.0.1.tgz", + "integrity": "sha512-hykJ86kNcu6y/FzlSHcQxhjSGMslZx2WlfLpZNoPbvueakv4OF3xPxEtGV2YmculrIaH0tPp9LtG4jgy17xMWg==", + "dependencies": { + "howler": "^2.1.3" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -15071,6 +15175,14 @@ "node": ">= 0.8" } }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -17147,11 +17259,18 @@ } }, "@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.14.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + } } }, "@babel/runtime-corejs3": { @@ -19089,6 +19208,28 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" }, + "axios": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", + "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, "axobject-query": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", @@ -21263,9 +21404,9 @@ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "follow-redirects": { - "version": "1.14.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", - "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" }, "fork-ts-checker-webpack-plugin": { "version": "6.5.1", @@ -21611,6 +21752,11 @@ "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" }, + "howler": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.3.tgz", + "integrity": "sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg==" + }, "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", @@ -21678,6 +21824,14 @@ "terser": "^5.10.0" } }, + "html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "requires": { + "void-elements": "3.1.0" + } + }, "html-webpack-plugin": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", @@ -21769,6 +21923,14 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" }, + "i18next": { + "version": "23.5.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.5.1.tgz", + "integrity": "sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==", + "requires": { + "@babel/runtime": "^7.22.5" + } + }, "iconsax-react": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/iconsax-react/-/iconsax-react-0.0.8.tgz", @@ -25032,6 +25194,11 @@ } } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -25230,6 +25397,15 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz", "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA==" }, + "react-i18next": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.2.2.tgz", + "integrity": "sha512-+nFUkbRByFwnrfDcYqvzBuaeZb+nACHx+fAWN/pZMddWOCJH5hoc21+Sa/N/Lqi6ne6/9wC/qRGOoQhJa6IkEQ==", + "requires": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -26607,6 +26783,14 @@ "punycode": "^2.1.0" } }, + "use-sound": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/use-sound/-/use-sound-4.0.1.tgz", + "integrity": "sha512-hykJ86kNcu6y/FzlSHcQxhjSGMslZx2WlfLpZNoPbvueakv4OF3xPxEtGV2YmculrIaH0tPp9LtG4jgy17xMWg==", + "requires": { + "howler": "^2.1.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -26665,6 +26849,11 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/package.json b/package.json index 0a0a22f3..3db29b8d 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,17 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^12.1.4", "@testing-library/user-event": "^13.5.0", + "axios": "^1.5.0", + "i18next": "^23.5.1", "iconsax-react": "^0.0.8", "prop-types": "^15.8.1", "react": "^18.0.0", "react-dom": "^18.0.0", + "react-i18next": "^13.2.2", "react-masonry-css": "^1.0.16", "react-scripts": "5.0.0", "react-simple-typewriter": "^5.0.1", + "use-sound": "^4.0.1", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/public/img/avatar/Ben_Tracy.jpeg b/public/img/avatar/Ben_Tracy.jpeg new file mode 100644 index 00000000..71245e82 Binary files /dev/null and b/public/img/avatar/Ben_Tracy.jpeg differ diff --git a/public/img/avatar/Dinesh_Anbazhagan.jpg b/public/img/avatar/Dinesh_Anbazhagan.jpg new file mode 100644 index 00000000..ff830813 Binary files /dev/null and b/public/img/avatar/Dinesh_Anbazhagan.jpg differ diff --git a/public/img/avatar/Hanny_Jangra.jpg b/public/img/avatar/Hanny_Jangra.jpg new file mode 100644 index 00000000..dd303adf Binary files /dev/null and b/public/img/avatar/Hanny_Jangra.jpg differ diff --git a/public/img/avatar/Lucas_Firmo.jpg b/public/img/avatar/Lucas_Firmo.jpg new file mode 100644 index 00000000..66982465 Binary files /dev/null and b/public/img/avatar/Lucas_Firmo.jpg differ diff --git a/public/img/avatar/Luciano_Juarez.jpg b/public/img/avatar/Luciano_Juarez.jpg new file mode 100644 index 00000000..ce5ef1ef Binary files /dev/null and b/public/img/avatar/Luciano_Juarez.jpg differ diff --git a/public/img/avatar/Negar_Nasiri.jpg b/public/img/avatar/Negar_Nasiri.jpg new file mode 100644 index 00000000..1ef5a699 Binary files /dev/null and b/public/img/avatar/Negar_Nasiri.jpg differ diff --git a/public/img/avatar/Sangjune_Lee.jpg b/public/img/avatar/Sangjune_Lee.jpg new file mode 100644 index 00000000..71c0a2fe Binary files /dev/null and b/public/img/avatar/Sangjune_Lee.jpg differ diff --git a/public/img/avatar/Tomas_Arrativel.jpg b/public/img/avatar/Tomas_Arrativel.jpg new file mode 100644 index 00000000..ebbed94b Binary files /dev/null and b/public/img/avatar/Tomas_Arrativel.jpg differ diff --git a/public/img/avatar/Tyler_Celestin.jpg b/public/img/avatar/Tyler_Celestin.jpg new file mode 100644 index 00000000..b7972557 Binary files /dev/null and b/public/img/avatar/Tyler_Celestin.jpg differ diff --git a/public/img/avatar/Zhang_Zhao.jpeg b/public/img/avatar/Zhang_Zhao.jpeg new file mode 100644 index 00000000..726841a9 Binary files /dev/null and b/public/img/avatar/Zhang_Zhao.jpeg differ diff --git a/public/img/avatar/varun_patodia.jpg b/public/img/avatar/varun_patodia.jpg new file mode 100644 index 00000000..04a61b36 Binary files /dev/null and b/public/img/avatar/varun_patodia.jpg differ diff --git a/public/img/bid_image/Ben_Tracy.jpg b/public/img/bid_image/Ben_Tracy.jpg new file mode 100644 index 00000000..18161b02 Binary files /dev/null and b/public/img/bid_image/Ben_Tracy.jpg differ diff --git a/public/img/bid_image/Dinesh_Anbazhagan.jpg b/public/img/bid_image/Dinesh_Anbazhagan.jpg new file mode 100644 index 00000000..df749998 Binary files /dev/null and b/public/img/bid_image/Dinesh_Anbazhagan.jpg differ diff --git a/public/img/bid_image/Hanny_Jangra.jpg b/public/img/bid_image/Hanny_Jangra.jpg new file mode 100644 index 00000000..a700b9bf Binary files /dev/null and b/public/img/bid_image/Hanny_Jangra.jpg differ diff --git a/public/img/bid_image/Lucas_Firmo.jpg b/public/img/bid_image/Lucas_Firmo.jpg new file mode 100644 index 00000000..da60c436 Binary files /dev/null and b/public/img/bid_image/Lucas_Firmo.jpg differ diff --git a/public/img/bid_image/Luciano_Juarez.jpg b/public/img/bid_image/Luciano_Juarez.jpg new file mode 100644 index 00000000..8203095e Binary files /dev/null and b/public/img/bid_image/Luciano_Juarez.jpg differ diff --git a/public/img/bid_image/Negar_Nasiri.jpg b/public/img/bid_image/Negar_Nasiri.jpg new file mode 100644 index 00000000..b5d41a45 Binary files /dev/null and b/public/img/bid_image/Negar_Nasiri.jpg differ diff --git a/public/img/bid_image/Sangjune_Lee.jpg b/public/img/bid_image/Sangjune_Lee.jpg new file mode 100644 index 00000000..e62eeccf Binary files /dev/null and b/public/img/bid_image/Sangjune_Lee.jpg differ diff --git a/public/img/bid_image/Tomas_Arrativel.jpg b/public/img/bid_image/Tomas_Arrativel.jpg new file mode 100644 index 00000000..e8a5928e Binary files /dev/null and b/public/img/bid_image/Tomas_Arrativel.jpg differ diff --git a/public/img/bid_image/Tyler_Celestin.jpg b/public/img/bid_image/Tyler_Celestin.jpg new file mode 100644 index 00000000..5a02ab1e Binary files /dev/null and b/public/img/bid_image/Tyler_Celestin.jpg differ diff --git a/public/img/bid_image/Zhang_Zhao.jpeg b/public/img/bid_image/Zhang_Zhao.jpeg new file mode 100644 index 00000000..4ee466f2 Binary files /dev/null and b/public/img/bid_image/Zhang_Zhao.jpeg differ diff --git a/public/img/bid_image/varun_patodia.jpg b/public/img/bid_image/varun_patodia.jpg new file mode 100644 index 00000000..abb4ac47 Binary files /dev/null and b/public/img/bid_image/varun_patodia.jpg differ diff --git a/public/img/dummy_image/10.jpg b/public/img/dummy_image/10.jpg new file mode 100644 index 00000000..4a8688bc Binary files /dev/null and b/public/img/dummy_image/10.jpg differ diff --git a/src/Components/BrickLayout/BrickLayout.jsx b/src/Components/BrickLayout/BrickLayout.jsx index 4c2dd8a3..2372b479 100644 --- a/src/Components/BrickLayout/BrickLayout.jsx +++ b/src/Components/BrickLayout/BrickLayout.jsx @@ -20,6 +20,9 @@ const BrickLayout = () => { +
+ +
) diff --git a/src/Components/Footer/Footer.jsx b/src/Components/Footer/Footer.jsx index f6a69bdb..6b75e781 100644 --- a/src/Components/Footer/Footer.jsx +++ b/src/Components/Footer/Footer.jsx @@ -1,15 +1,38 @@ -import React from "react"; +import React, { useState, useEffect } from "react"; +import useSound from 'use-sound'; +import heartBeat from './heart-beat.wav'; import styles from "./Footer.module.css"; const Footer = () => { + const [isMobile, setIsMobile] = useState(window.innerWidth < 640); + const [playHeartBeat, { stop }] = useSound(heartBeat); + + useEffect(() => { + function handleSize() { + setIsMobile(window.innerWidth < 640); + } + window.addEventListener("resize", handleSize); + + return () => { + window.removeEventListener("resize", handleSize); + } + }, []) + return (