├── .env ├── .github └── workflows │ └── S3.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── License ├── README.md ├── package-lock.json ├── package.json ├── public ├── Assets │ ├── About_papercu3t.png │ ├── About_papercut.png │ ├── Fish_vid.mp4 │ ├── Freeze_Loader.mp4 │ ├── Organisations │ │ ├── fossasia_copy.png │ │ ├── friicudecemp.jpg │ │ ├── github_logo.png │ │ ├── saw_;labs_png.png │ │ ├── skit_vernucular_ai.jpg │ │ └── skit_vernucular_ai_png.png │ ├── Parallax_landscape │ │ ├── Layer_1.png │ │ ├── Layer_10.png │ │ ├── Layer_11.png │ │ ├── Layer_12.png │ │ ├── Layer_2.png │ │ ├── Layer_3.png │ │ ├── Layer_4.png │ │ ├── Layer_5.png │ │ ├── Layer_6.png │ │ ├── Layer_7.png │ │ ├── Layer_8.png │ │ └── Layer_9.png │ ├── TImeline final.png │ ├── Timeline.png │ ├── Timeline_end.png │ └── winter_about.svg ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json ├── robots.txt └── src │ ├── Components │ ├── RGB_Split.js │ ├── WebGLFont.js │ ├── fragment │ │ ├── fragment-01.glsl │ │ ├── fragment-02.glsl │ │ └── rgb_fragment.glsl │ ├── import_shaders.js │ ├── msdf.js │ ├── normal_msdf.js │ └── vertex │ │ ├── rgb_vertex.glsl │ │ ├── vertex-01.glsl │ │ └── vertex-02.glsl │ ├── Loader.css │ ├── Loader.js │ ├── assests │ ├── Lato-Black.fnt │ ├── Lato-Black.png │ ├── gradient-map.png │ ├── manifold-msdf.json │ └── manifold-msdf.png │ ├── index.js │ └── styles.css └── src ├── App.js ├── api └── client.js ├── assets ├── EventPrtImages │ ├── ABES_Institute_of_Technology_Ghaziabad.jpg │ ├── Ajeenkya_DY_Patil_University.jpg │ ├── Amity_University_Noida.jpg │ ├── Jalpaiguri_Government_Engineering_College.jpg │ ├── New_LJ_Institute_of_Engineering_and_Technology.jpg │ ├── Rajasthan_Technical_University_Kota.jpg │ ├── Sathyabama_Institute_of_Science_and_Technology.jpg │ ├── Sister_Nivedita_University.jpg │ ├── University_School_Of_Information_Communication_and_Technology.jpg │ └── Usha_Mittal_Institute_of_Technology_Mumbai.jpg ├── images │ ├── Developers │ │ ├── Abhishree.jpg │ │ ├── Akshit.jpg │ │ ├── Ayushman.jpeg │ │ ├── Divya.jpg │ │ ├── Ishan.jpg │ │ ├── Jatin.jpg │ │ ├── MohitImg.PNG │ │ ├── Prayag.jpg │ │ ├── Subhadeep.jpg │ │ ├── Suryansh.jpg │ │ ├── Vineel.jpeg │ │ └── Yash.jpeg │ ├── GDSC_Logo.png │ ├── Landscape.png │ ├── MadeBy.jpg │ ├── Sponsors.jpg │ ├── WOC_Logo.png │ ├── login.jpg │ ├── made-with-react.svg │ ├── png_thinkface_papercut.png │ ├── profile.png │ ├── projects │ │ └── img1.png │ ├── signup.jpg │ ├── speaker.png │ ├── sponsors.png │ └── timeLine.png ├── organizations │ ├── Codedigger.png │ ├── Dezenix.png │ ├── Hoppscotch.png │ ├── abc.jpg │ ├── asyncAPI.png │ ├── asyncAPI4.png │ ├── auto-dl.png │ ├── coindigeer.png │ ├── gdsc.ai │ ├── gdsc.png │ ├── gitaInit.png │ ├── jinaAi.png │ ├── laayak.png │ ├── llvm.png │ ├── llvm_large.png │ ├── moja-global.png │ └── skit.png ├── projectAssests │ ├── fossasia_copy.png │ ├── github_logo.png │ ├── img.jpg │ ├── proj_video.mp4 │ └── winter_about.png └── sponsors │ ├── 1stop.png │ ├── Polygon.png │ ├── Replit.png │ ├── celo.png │ ├── codeForCause.png │ ├── devfolio.png │ ├── filecoin.png │ ├── github.png │ ├── hackclub.png │ ├── jetBrains.jpg │ ├── jinaAi.png │ ├── newton.png │ ├── noticebard.svg │ ├── polygon.jpg │ ├── prepbytes.png │ ├── replitt.png │ ├── skit2.png │ └── tezos.png ├── components ├── EventPartner │ ├── eventPartner.css │ └── eventPartner.js ├── StudentDetails │ ├── StudentDetails.css │ └── StudentDetails.js ├── UI │ ├── button │ │ ├── Button.css │ │ └── Button.js │ ├── frontText │ │ ├── Text.css │ │ └── Text.js │ ├── popup │ │ ├── PopUp.css │ │ └── PopUp.js │ └── profileCard │ │ ├── Card.css │ │ └── ProfileCard.js ├── about │ ├── About.css │ └── About.js ├── developers │ ├── DevTeam.css │ ├── DevTeam.js │ ├── DevTeam1.css │ ├── DevTeam1.js │ └── teamData.js ├── faqSec │ ├── Faq.js │ ├── faq.css │ └── faqData.js ├── footer │ ├── Footer.css │ └── Footer.js ├── forms │ └── studentDetails │ │ ├── StudentDetails.css │ │ └── StudentDetails.js ├── header │ ├── NavBar.css │ └── NavBar.js ├── home │ ├── Home.css │ └── Home.js ├── loginSignup │ ├── Auth.css │ ├── Auth.js │ ├── Login.js │ ├── LoginSignUp.css │ └── LoginSignUp.js ├── projects │ ├── Project.css │ ├── Project.js │ ├── allProjects │ │ ├── ProjectCard.css │ │ ├── ProjectCard.js │ │ ├── Projects.css │ │ ├── Projects.js │ │ ├── SlideData.js │ │ └── grid.css │ └── organizations.js ├── speakers │ ├── Speaker.css │ └── Speaker.js ├── sponsors │ ├── Sponsor.css │ ├── Sponsor.js │ └── sponsorsData.js ├── timeline │ ├── TimeLine.css │ ├── TimeLine.js │ ├── Vertical.js │ └── timeLineData.js └── welcomePage │ ├── Welcome.css │ └── Welcome.js ├── index.css └── index.js /.env: -------------------------------------------------------------------------------- 1 | clientId=718358310359-d2qgjh0f7dc0pe4r1eifiqag3vdh5l9t.apps.googleusercontent.com 2 | CI=true 3 | SKIP_PREFLIGHT_CHECK=true -------------------------------------------------------------------------------- /.github/workflows/S3.yml: -------------------------------------------------------------------------------- 1 | name: Production Build 2 | on: 3 | pull_request: 4 | push: 5 | branches: 6 | - master 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | strategy: 12 | matrix: 13 | node-version: [14.x] 14 | 15 | steps: 16 | - uses: actions/checkout@v1 17 | - name: Use Node.js ${{ matrix.node-version }} 18 | uses: actions/setup-node@v1 19 | with: 20 | node-version: ${{ matrix.node-version }} 21 | - name: NPM Install 22 | run: | 23 | npm install 24 | - name: Production Build 25 | run: | 26 | npm run build 27 | - name: Deploy to S3 28 | uses: jakejarvis/s3-sync-action@master 29 | with: 30 | args: --acl public-read --delete 31 | env: 32 | AWS_S3_BUCKET: ${{ secrets.AWS_PRODUCTION_BUCKET_NAME }} 33 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 34 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 35 | AWS_REGION: ${{ secrets.AWS_REGION }} 36 | SOURCE_DIR: "build" 37 | CI: false 38 | 39 | - name: invalidate 40 | uses: chetan/invalidate-cloudfront-action@master 41 | env: 42 | DISTRIBUTION: ${{ secrets.DISTRIBUTION }} 43 | PATHS: '/*' 44 | AWS_REGION: 'ap-south-1' 45 | AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} 46 | AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | .vscode 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | - Welcoming and inclusive language 12 | - Being respectful of differing viewpoints and experiences 13 | - Gracefully accepting constructive criticism 14 | - Focusing on what is best for the community 15 | - Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | - The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | - Trolling, insulting/derogatory comments, and personal or political attacks 21 | - Public or private harassment 22 | - Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | - Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at dsc.iiitkalyani@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 37 | 38 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 39 | 40 | ### Attribution 41 | This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 42 | 43 | For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### Contributing Guidelines: 2 | 3 | [![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?logo=git&logoColor=white)](https://github.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/compare) [![GitHub contributors](https://img.shields.io/github/contributors/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?logo=github)](https://github.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/graphs/contributors) [![Buddhadeb Chhetri](https://img.shields.io/badge/Author-@Buddhad-gray.svg?colorA=gray&colorB=dodgerblue&logo=github)](https://github.com/Buddhad/) 4 | 5 | - Write clear meaningful git commit messages (Do read [this](http://chris.beams.io/posts/git-commit/)). 6 | 7 | - Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check [this](https://github.com/blog/1506-closing-issues-via-pull-requests) for more info) 8 | 9 | - When you make very very minor changes to a PR of yours (like for example fixing a text in button, minor changes requested by reviewers) make sure you squash your commits afterward so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at [here](https://davidwalsh.name/squash-commits-git)) 10 | 11 | - When you're submitting a PR for a UI-related issue, it would be really awesome if you add a screenshot of your change or a link to a deployment where it can be tested out along with your PR. It makes it very easy for the reviewers and you'll also get reviews quicker. 12 | 13 | - Always create PR to `develop` branch. 14 | 15 | - Please read our [Code of Conduct](./CODE_OF_CONDUCT.md). 16 | 17 | -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright © 2021 Google Developer Student Club - IIIT Kalyani 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Getting Started with Winter of Code 2.0

2 |
3 | 4 |
5 | 6 | [![Welcome to my profile](https://img.shields.io/badge/Hello,Programmer!-Welcome-blue.svg?style=flat&logo=github)](https://github.com/GDSC-IIIT-Kalyani) 7 | [![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend) 8 | ![License](https://img.shields.io/badge/License-Apache-red.svg) 9 | ![Stars](https://img.shields.io/github/stars/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?style=flat&logo=github) 10 | ![Forks](https://img.shields.io/github/forks/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?style=flat&logo=github) 11 | 12 |
13 | 14 |
15 | WinterCode_logo 16 |
17 | 18 |
19 | 20 |
21 | 22 | 23 | 24 | react 25 | js 26 | 27 | check 28 | 29 |
30 | 31 |

32 | Official website for Winter of Code 2.0 organised by IIIT Kalyani with collabaration of 10+ GDSC 33 |

34 | 35 | ## **Getting Started** 36 | [![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?logo=github)](https://GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/) [![GitHub commit activity](https://img.shields.io/github/commit-activity/m/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?color=bluevoilet&logo=github)](https://github.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/commits/) [![GitHub repo size](https://img.shields.io/github/repo-size/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend?logo=github)](https://github.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend) 37 | 38 | For the quick start, you can follow the steps below: 39 | 40 | 1. Star this repository. 41 | 2. Fork this repository. 42 | 3. Clone the **forked** repository. 43 | 44 | ```yml 45 | git clone https://github.com//Winter-of-Code-2.0-frontend 46 | ``` 47 | 48 | 3. Navigate to the project directory. 49 | 50 | ```py 51 | cd Winter-of-Code-2.0-frontend 52 | ``` 53 | 54 | 4. Create a new branch. 55 | 56 | ```yml 57 | git checkout -b 58 | ``` 59 | 60 | Run the following command to install the required dependencies. 61 | 62 | 1. `npm install ` - install the required dependencies 63 | 2. `npm start` - start the development server 64 | 3. Open http://localhost:3000 in your browser 65 | 66 | 4. Contribute 67 | 68 | 5. Stage your changes and commit 69 | 70 | ```css 71 | git add -a 72 | 73 | git commit -m "" 74 | ``` 75 | 76 | 7. Push your local commits to the remote repo. 77 | 78 | ```yml 79 | git push -u origin 80 | ``` 81 | 82 | 8. Create a Pull-Request to `main`. 83 | 84 | 9. Congratulations! 🎉 you've made your contribution to Winter-of-Code-2.0-frontend. 85 | 86 |

Contributing

87 | 88 |

89 | Thank you for your interest in contributing to our Repo! Pull requests are welcome. For fixing typos, please make a PR with your fixes. For other contributions, we suggest you to read our contribution guidelines to see how you can contribute to this project. We are happy for every contribution. 90 |


91 |

92 | 93 |

Issues & Pull Requests

94 | 95 | Before making pull requests please look at our contributing guidelines (coming soon). You can start working on the issue which are mentioned in issues section. Just drop a comment before working on the issue. Thank you! 96 | 97 | # License & Copyright 98 | 99 | The code is this repo is licensed under the [MIT License](License). Feel free to use and share it as per the license. 100 | 101 | # ✨ Contributors 102 | 103 | 104 | 105 | 106 | 107 | 108 |
109 | love 110 | how 111 |
112 | 113 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "winter-of-code-2.0-frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@fortawesome/fontawesome-svg-core": "^1.3.0-beta2", 7 | "@fortawesome/free-regular-svg-icons": "^6.0.0-beta2", 8 | "@fortawesome/free-solid-svg-icons": "^6.0.0-beta2", 9 | "@fortawesome/react-fontawesome": "^0.1.16", 10 | "@material-ui/core": "^4.12.3", 11 | "@material-ui/icons": "^4.11.2", 12 | "@testing-library/jest-dom": "^5.14.1", 13 | "@testing-library/react": "^11.2.7", 14 | "@testing-library/user-event": "^12.8.3", 15 | "dat.gui": "^0.7.7", 16 | "framer-motion": "^4.1.17", 17 | "load-bmfont": "^1.4.1", 18 | "materialize-css": "^1.0.0-rc.2", 19 | "nice-color-palettes": "^3.0.0", 20 | "npm": "^7.24.1", 21 | "react": "^17.0.2", 22 | "react-dom": "^17.0.2", 23 | "react-dropdown-select": "^4.7.4", 24 | "react-fontawesome": "^1.7.1", 25 | "react-google-login": "^5.2.2", 26 | "react-horizontal-timeline": "^1.5.3", 27 | "react-icons": "^4.3.1", 28 | "react-router-dom": "^5.3.0", 29 | "react-script": "^2.0.5", 30 | "react-scripts": "4.0.3", 31 | "react-scroll": "^1.8.4", 32 | "react-slick": "^0.28.1", 33 | "react-slik": "^1.0.1", 34 | "react-vertical-timeline-component": "^3.3.3", 35 | "slick-carousel": "^1.8.1", 36 | "start": "^5.1.0", 37 | "styled-components": "^5.3.1", 38 | "three": "^0.132.2", 39 | "three-bmfont-text": "^3.0.1", 40 | "three-orbit-controls": "^82.1.0", 41 | "web-vitals": "^1.1.2" 42 | }, 43 | "scripts": { 44 | "start": "react-scripts start", 45 | "build": "react-scripts build", 46 | "test": "react-scripts test", 47 | "eject": "react-scripts eject" 48 | }, 49 | "eslintConfig": { 50 | "extends": [ 51 | "react-app", 52 | "react-app/jest" 53 | ] 54 | }, 55 | "browserslist": { 56 | "production": [ 57 | ">0.2%", 58 | "not dead", 59 | "not op_mini all" 60 | ], 61 | "development": [ 62 | "last 1 chrome version", 63 | "last 1 firefox version", 64 | "last 1 safari version" 65 | ] 66 | }, 67 | "devDependencies": { 68 | "react-html-parser": "^2.0.2" 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /public/Assets/About_papercu3t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/About_papercu3t.png -------------------------------------------------------------------------------- /public/Assets/About_papercut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/About_papercut.png -------------------------------------------------------------------------------- /public/Assets/Fish_vid.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Fish_vid.mp4 -------------------------------------------------------------------------------- /public/Assets/Freeze_Loader.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Freeze_Loader.mp4 -------------------------------------------------------------------------------- /public/Assets/Organisations/fossasia_copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/fossasia_copy.png -------------------------------------------------------------------------------- /public/Assets/Organisations/friicudecemp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/friicudecemp.jpg -------------------------------------------------------------------------------- /public/Assets/Organisations/github_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/github_logo.png -------------------------------------------------------------------------------- /public/Assets/Organisations/saw_;labs_png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/saw_;labs_png.png -------------------------------------------------------------------------------- /public/Assets/Organisations/skit_vernucular_ai.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/skit_vernucular_ai.jpg -------------------------------------------------------------------------------- /public/Assets/Organisations/skit_vernucular_ai_png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Organisations/skit_vernucular_ai_png.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_1.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_10.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_11.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_12.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_2.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_3.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_4.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_5.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_6.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_7.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_8.png -------------------------------------------------------------------------------- /public/Assets/Parallax_landscape/Layer_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Parallax_landscape/Layer_9.png -------------------------------------------------------------------------------- /public/Assets/TImeline final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/TImeline final.png -------------------------------------------------------------------------------- /public/Assets/Timeline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Timeline.png -------------------------------------------------------------------------------- /public/Assets/Timeline_end.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/Assets/Timeline_end.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 32 | 37 | Winter Of Code 2.0 38 | 39 | 40 | 41 | 42 |
43 |
44 |
45 | 48 |
49 | 50 |
51 |
52 | 53 |
54 |
55 | 56 |
57 |
58 | 59 |
60 |
61 | 62 |
63 |
64 | 65 |
66 |
67 | 68 |
69 |
70 | 71 |
72 |
73 | 74 |
75 |
76 | 77 |
78 |
79 | 80 |
81 |
82 | 83 |
84 |
85 | 86 |
87 |
88 |
89 |
90 | 91 | 92 | 93 | 94 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/src/Components/RGB_Split.js: -------------------------------------------------------------------------------- 1 | import * as THREE from 'three'; 2 | import vertexShader from'./vertex/rgb_vertex.glsl'; 3 | import fragmentShader from'./fragment/rgb_fragment.glsl'; 4 | 5 | let scrollable = document.querySelector('.scrollable'); 6 | 7 | let current = 0; 8 | let target = 0; 9 | let ease = 0.075; 10 | 11 | // Linear inetepolation used for smooth scrolling and image offset uniform adjustment 12 | 13 | function lerp(start, end, t){ 14 | return start * (1 - t ) + end * t; 15 | } 16 | 17 | // init function triggered on page load to set the body height to enable scrolling and EffectCanvas initialised 18 | function init(){ 19 | document.body.style.height = `${scrollable.getBoundingClientRect().height}px`; 20 | } 21 | 22 | // translate the scrollable div using the lerp function for the smooth scrolling effect. 23 | function smoothScroll(){ 24 | target = window.scrollY; 25 | current = lerp(current, target, ease); 26 | scrollable.style.transform = `translate3d(0,${-current}px, 0)`; 27 | } 28 | 29 | class EffectCanvas{ 30 | constructor(){ 31 | this.container = document.querySelector('main'); 32 | this.images = [...document.querySelectorAll('img')]; 33 | this.meshItems = []; // Used to store all meshes we will be creating. 34 | this.setupCamera(); 35 | this.createMeshItems(); 36 | this.render() 37 | } 38 | 39 | // Getter function used to get screen dimensions used for the camera and mesh materials 40 | get viewport(){ 41 | let width = window.innerWidth; 42 | let height = window.innerHeight; 43 | let aspectRatio = width / height; 44 | return { 45 | width, 46 | height, 47 | aspectRatio 48 | }; 49 | } 50 | 51 | setupCamera(){ 52 | 53 | window.addEventListener('resize', this.onWindowResize.bind(this), false); 54 | 55 | // Create new scene 56 | this.scene = new THREE.Scene(); 57 | 58 | // Initialize perspective camera 59 | 60 | let perspective = 1000; 61 | const fov = (180 * (2 * Math.atan(window.innerHeight / 2 / perspective))) / Math.PI; // see fov image for a picture breakdown of this fov setting. 62 | this.camera = new THREE.PerspectiveCamera(fov, this.viewport.aspectRatio, 1, 1000) 63 | this.camera.position.set(0, 0, perspective); // set the camera position on the z axis. 64 | 65 | // renderer 66 | // this.renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true }); 67 | this.renderer = new THREE.WebGL1Renderer({ antialias: true, alpha: true }); 68 | this.renderer.setSize(this.viewport.width, this.viewport.height); // uses the getter viewport function above to set size of canvas / renderer 69 | this.renderer.setPixelRatio(window.devicePixelRatio); // Import to ensure image textures do not appear blurred. 70 | this.container.appendChild(this.renderer.domElement); // append the canvas to the main element 71 | } 72 | 73 | onWindowResize(){ 74 | init(); 75 | this.camera.aspect = this.viewport.aspectRatio; // readjust the aspect ratio. 76 | this.camera.updateProjectionMatrix(); // Used to recalulate projectin dimensions. 77 | this.renderer.setSize(this.viewport.width, this.viewport.height); 78 | } 79 | 80 | createMeshItems(){ 81 | // Loop thorugh all images and create new MeshItem instances. Push these instances to the meshItems array. 82 | this.images.forEach(image => { 83 | let meshItem = new MeshItem(image, this.scene); 84 | this.meshItems.push(meshItem); 85 | }) 86 | } 87 | 88 | // Animate smoothscroll and meshes. Repeatedly called using requestanimationdrame 89 | render(){ 90 | smoothScroll(); 91 | for(let i = 0; i < this.meshItems.length; i++){ 92 | this.meshItems[i].render(); 93 | } 94 | this.renderer.render(this.scene, this.camera) 95 | requestAnimationFrame(this.render.bind(this)); 96 | } 97 | } 98 | 99 | class MeshItem{ 100 | // Pass in the scene as we will be adding meshes to this scene. 101 | constructor(element, scene){ 102 | this.element = element; 103 | this.scene = scene; 104 | this.offset = new THREE.Vector2(0,0); // Positions of mesh on screen. Will be updated below. 105 | this.sizes = new THREE.Vector2(0,0); //Size of mesh on screen. Will be updated below. 106 | this.createMesh(); 107 | } 108 | 109 | getDimensions(){ 110 | const {width, height, top, left} = this.element.getBoundingClientRect(); 111 | this.sizes.set(width, height); 112 | this.offset.set(left - window.innerWidth / 2 + width / 2, -top + window.innerHeight / 2 - height / 2); 113 | } 114 | 115 | createMesh(){ 116 | this.geometry = new THREE.PlaneBufferGeometry(1,1,100,100); 117 | this.imageTexture = new THREE.TextureLoader().load(this.element.src); 118 | this.uniforms = { 119 | uTexture: { 120 | //texture data 121 | value: this.imageTexture 122 | }, 123 | uOffset: { 124 | //distortion strength 125 | value: new THREE.Vector2(0.0, 0.0) 126 | }, 127 | uAlpha: { 128 | //opacity 129 | value: 1. 130 | } 131 | }; 132 | this.material = new THREE.ShaderMaterial({ 133 | uniforms: this.uniforms, 134 | vertexShader: vertexShader, 135 | fragmentShader: fragmentShader, 136 | transparent: true, 137 | // wireframe: true, 138 | side: THREE.DoubleSide 139 | }) 140 | this.mesh = new THREE.Mesh( this.geometry, this.material ); 141 | this.getDimensions(); // set offsetand sizes for placement on the scene 142 | this.mesh.position.set(this.offset.x, this.offset.y, 0); 143 | this.mesh.scale.set(this.sizes.x, this.sizes.y, 1); 144 | 145 | this.scene.add( this.mesh ); 146 | } 147 | 148 | render(){ 149 | // this function is repeatidly called for each instance in the aboce 150 | this.getDimensions(); 151 | this.mesh.position.set(this.offset.x, this.offset.y, 0) 152 | this.mesh.scale.set(this.sizes.x, this.sizes.y, 1) 153 | this.uniforms.uOffset.value.set(this.offset.x * 0.0, -(target- current) * 0.0003 ) 154 | } 155 | } 156 | 157 | init() 158 | new EffectCanvas() 159 | -------------------------------------------------------------------------------- /public/src/Components/fragment/fragment-01.glsl: -------------------------------------------------------------------------------- 1 | #ifdef GL_OES_standard_derivatives 2 | #extension GL_OES_standard_derivatives : enable 3 | #endif 4 | 5 | precision highp float; 6 | uniform float opacity; 7 | uniform vec3 color; 8 | uniform sampler2D map; 9 | varying vec2 vUv; 10 | uniform float time; 11 | uniform vec2 resolution; 12 | 13 | // 14 | // GLSL textureless classic 3D noise "cnoise", 15 | // with an RSL-style periodic variant "pnoise". 16 | // Author: Stefan Gustavson (stefan.gustavson@liu.se) 17 | // Version: 2011-10-11 18 | // 19 | // Many thanks to Ian McEwan of Ashima Arts for the 20 | // ideas for permutation and gradient selection. 21 | // 22 | // Copyright (c) 2011 Stefan Gustavson. All rights reserved. 23 | // Distributed under the MIT license. See LICENSE file. 24 | // https://github.com/ashima/webgl-noise 25 | // 26 | 27 | vec3 mod289(vec3 x) 28 | { 29 | return x - floor(x * (1.0 / 289.0)) * 289.0; 30 | } 31 | 32 | vec4 mod289(vec4 x) 33 | { 34 | return x - floor(x * (1.0 / 289.0)) * 289.0; 35 | } 36 | 37 | vec4 permute(vec4 x) 38 | { 39 | return mod289(((x*34.0)+1.0)*x); 40 | } 41 | 42 | vec4 taylorInvSqrt(vec4 r) 43 | { 44 | return 1.79284291400159 - 0.85373472095314 * r; 45 | } 46 | 47 | vec3 fade(vec3 t) { 48 | return t*t*t*(t*(t*6.0-15.0)+10.0); 49 | } 50 | 51 | // Classic Perlin noise 52 | float cnoise(vec3 P) 53 | { 54 | vec3 Pi0 = floor(P); // Integer part for indexing 55 | vec3 Pi1 = Pi0 + vec3(1.0); // Integer part + 1 56 | Pi0 = mod289(Pi0); 57 | Pi1 = mod289(Pi1); 58 | vec3 Pf0 = fract(P); // Fractional part for interpolation 59 | vec3 Pf1 = Pf0 - vec3(1.0); // Fractional part - 1.0 60 | vec4 ix = vec4(Pi0.x, Pi1.x, Pi0.x, Pi1.x); 61 | vec4 iy = vec4(Pi0.yy, Pi1.yy); 62 | vec4 iz0 = Pi0.zzzz; 63 | vec4 iz1 = Pi1.zzzz; 64 | 65 | vec4 ixy = permute(permute(ix) + iy); 66 | vec4 ixy0 = permute(ixy + iz0); 67 | vec4 ixy1 = permute(ixy + iz1); 68 | 69 | vec4 gx0 = ixy0 * (1.0 / 7.0); 70 | vec4 gy0 = fract(floor(gx0) * (1.0 / 7.0)) - 0.5; 71 | gx0 = fract(gx0); 72 | vec4 gz0 = vec4(0.5) - abs(gx0) - abs(gy0); 73 | vec4 sz0 = step(gz0, vec4(0.0)); 74 | gx0 -= sz0 * (step(0.0, gx0) - 0.5); 75 | gy0 -= sz0 * (step(0.0, gy0) - 0.5); 76 | 77 | vec4 gx1 = ixy1 * (1.0 / 7.0); 78 | vec4 gy1 = fract(floor(gx1) * (1.0 / 7.0)) - 0.5; 79 | gx1 = fract(gx1); 80 | vec4 gz1 = vec4(0.5) - abs(gx1) - abs(gy1); 81 | vec4 sz1 = step(gz1, vec4(0.0)); 82 | gx1 -= sz1 * (step(0.0, gx1) - 0.5); 83 | gy1 -= sz1 * (step(0.0, gy1) - 0.5); 84 | 85 | vec3 g000 = vec3(gx0.x,gy0.x,gz0.x); 86 | vec3 g100 = vec3(gx0.y,gy0.y,gz0.y); 87 | vec3 g010 = vec3(gx0.z,gy0.z,gz0.z); 88 | vec3 g110 = vec3(gx0.w,gy0.w,gz0.w); 89 | vec3 g001 = vec3(gx1.x,gy1.x,gz1.x); 90 | vec3 g101 = vec3(gx1.y,gy1.y,gz1.y); 91 | vec3 g011 = vec3(gx1.z,gy1.z,gz1.z); 92 | vec3 g111 = vec3(gx1.w,gy1.w,gz1.w); 93 | 94 | vec4 norm0 = taylorInvSqrt(vec4(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); 95 | g000 *= norm0.x; 96 | g010 *= norm0.y; 97 | g100 *= norm0.z; 98 | g110 *= norm0.w; 99 | vec4 norm1 = taylorInvSqrt(vec4(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); 100 | g001 *= norm1.x; 101 | g011 *= norm1.y; 102 | g101 *= norm1.z; 103 | g111 *= norm1.w; 104 | 105 | float n000 = dot(g000, Pf0); 106 | float n100 = dot(g100, vec3(Pf1.x, Pf0.yz)); 107 | float n010 = dot(g010, vec3(Pf0.x, Pf1.y, Pf0.z)); 108 | float n110 = dot(g110, vec3(Pf1.xy, Pf0.z)); 109 | float n001 = dot(g001, vec3(Pf0.xy, Pf1.z)); 110 | float n101 = dot(g101, vec3(Pf1.x, Pf0.y, Pf1.z)); 111 | float n011 = dot(g011, vec3(Pf0.x, Pf1.yz)); 112 | float n111 = dot(g111, Pf1); 113 | 114 | vec3 fade_xyz = fade(Pf0); 115 | vec4 n_z = mix(vec4(n000, n100, n010, n110), vec4(n001, n101, n011, n111), fade_xyz.z); 116 | vec2 n_yz = mix(n_z.xy, n_z.zw, fade_xyz.y); 117 | float n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); 118 | return 2.2 * n_xyz; 119 | } 120 | 121 | vec3 palette(in float t, in vec3 a, in vec3 b, in vec3 c, in vec3 d ) { 122 | return a + b*cos( 6.28318*(c*t+d) ); 123 | } 124 | 125 | float median(float r, float g, float b) { 126 | return max(min(r, g), min(max(r, g), b)); 127 | } 128 | 129 | void main() { 130 | vec2 st = gl_FragCoord.xy / resolution; 131 | 132 | vec3 sample_color = texture2D(map, vUv).rgb; 133 | float sigDist = median(sample_color.r, sample_color.g, sample_color.b) - 0.5; 134 | float alpha = clamp(sigDist/fwidth(sigDist) + 0.5, 0.0, 1.0); 135 | 136 | float speed = .35; 137 | float scale = 80.0; 138 | // vec2 p = gl_FragCoord.xy * 0.01 + 0.5; 139 | vec2 p = vUv * scale + 0.5; 140 | 141 | for(int i = 1; i < 10; i++) { 142 | p.x += 0.45 / float(i) * sin(float(i) * 3.0 * p.y + time * speed); 143 | p.y += 0.45 / float(i) * cos(float(i) * 3.0 * p.x + time * speed); 144 | } 145 | 146 | float r = cos(p.x + p.y + 1.0) * 0.5 + 0.5; 147 | float g = sin(p.x + p.y + 1.0) * 0.5 + 0.5; 148 | float b = (sin(p.x + p.y) + cos(p.x + p.y)) * 0.5 + 0.5; 149 | 150 | vec3 color = vec3(r, g, b); 151 | 152 | // Color mixing 153 | vec3 c1 = vec3(0.5); 154 | vec3 c2 = vec3(0.5); 155 | vec3 c3 = vec3(1.0); 156 | vec3 c4 = vec3(0.00, 0.10, 0.20); 157 | 158 | vec3 palette = palette(r, c1, c2, c3, c4); 159 | 160 | gl_FragColor = vec4(palette, alpha * opacity); 161 | if (gl_FragColor.a < 0.0001) discard; 162 | } -------------------------------------------------------------------------------- /public/src/Components/fragment/fragment-02.glsl: -------------------------------------------------------------------------------- 1 | #ifdef GL_OES_standard_derivatives 2 | #extension GL_OES_standard_derivatives : enable 3 | #endif 4 | 5 | varying vec2 vUv; 6 | uniform vec2 viewport; 7 | uniform vec2 uMouse; 8 | float createCircle() { 9 | vec2 viewportUv = gl_FragCoord.xy / viewport; 10 | float viewportAspect = viewport.x / viewport.y; 11 | 12 | vec2 mousePoint = vec2(uMouse.x, 1.0 - uMouse.y); 13 | float circleRadius = max(0.0, 150. / viewport.x) ; 14 | 15 | vec2 shapeUv = viewportUv - mousePoint; 16 | shapeUv /= vec2(1.0, viewportAspect); 17 | shapeUv += mousePoint; 18 | 19 | float dist = distance(shapeUv, mousePoint); 20 | dist = smoothstep(circleRadius, circleRadius + 0.001, dist); 21 | return dist; 22 | // return uMouse.y; 23 | } 24 | 25 | void main() 26 | { 27 | float circle = 1. - createCircle(); 28 | float dist = length(gl_PointCoord - vec2(0.5)); 29 | float disc = smoothstep(0.5,0.45,dist); 30 | // vec2 newUV = (vUv - vec2(0.5))*resolution.zw + vec2(0.5); 31 | gl_FragColor = vec4(1.,0.,0.0,1.); 32 | gl_FragColor = vec4(disc*circle); 33 | if(disc<0.01) discard; 34 | } -------------------------------------------------------------------------------- /public/src/Components/fragment/rgb_fragment.glsl: -------------------------------------------------------------------------------- 1 | // uniform sampler2D uTexture; 2 | // uniform float uAlpha; 3 | // uniform vec2 uOffset; 4 | // varying vec2 vUv; 5 | 6 | // void main(){ 7 | // gl_FragColor = vec4(255.,255.,255.,255.); 8 | // } 9 | 10 | 11 | uniform sampler2D uTexture; 12 | uniform float uAlpha; 13 | uniform vec2 uOffset; 14 | varying vec2 vUv; 15 | 16 | vec3 rgbShift(sampler2D textureImage, vec2 uv, vec2 offset) { 17 | float r = texture2D(textureImage,uv + offset).r; 18 | vec2 gb = texture2D(textureImage,uv).gb; 19 | return vec3(r,gb); 20 | } 21 | 22 | void main() { 23 | vec3 color = rgbShift(uTexture,vUv,uOffset); 24 | gl_FragColor = vec4(color,uAlpha); 25 | } -------------------------------------------------------------------------------- /public/src/Components/import_shaders.js: -------------------------------------------------------------------------------- 1 | import vertex1 from "./vertex/vertex-01.glsl"; 2 | import vertex2 from "./vertex/vertex-02.glsl"; 3 | //In case other shaders used later 4 | // import vertex1 from "./vertex/vertex-01.glsl"; 5 | // import vertex2 from "./vertex/vertex-02.glsl"; 6 | // import vertex1 from "./vertex/vertex-01.glsl"; 7 | // import vertex2 from "./vertex/vertex-02.glsl"; 8 | 9 | 10 | import fragment1 from "./fragment/fragment-01.glsl"; 11 | import fragment2 from "./fragment/fragment-02.glsl"; 12 | //In case other shaders used later 13 | // import vertex1 from "./vertex/vertex-01.glsl"; 14 | // import vertex2 from "./vertex/vertex-02.glsl"; 15 | // import vertex1 from "./vertex/vertex-01.glsl"; 16 | // import vertex2 from "./vertex/vertex-02.glsl"; 17 | 18 | 19 | export const shaders = [ 20 | { vertex: vertex1, fragment: fragment1 }, 21 | { vertex: vertex2, fragment: fragment2 }, 22 | // { vertex: vertex3, fragment: fragment3 }, 23 | // { vertex: vertex4, fragment: fragment4 }, 24 | // { vertex: vertex5, fragment: fragment5 }, 25 | // { vertex: vertex6, fragment: fragment6 }, 26 | // { vertex: vertex7, fragment: fragment7 }, 27 | 28 | ]; 29 | -------------------------------------------------------------------------------- /public/src/Components/msdf.js: -------------------------------------------------------------------------------- 1 | var assign = require('object-assign'); 2 | 3 | import gradientTexture from '../assests/gradient-map.png'; 4 | 5 | module.exports = function createMSDFShader (opt) { 6 | opt = opt || {}; 7 | var opacity = typeof opt.opacity === 'number' ? opt.opacity : 1; 8 | var alphaTest = typeof opt.alphaTest === 'number' ? opt.alphaTest : 0.0001; 9 | var precision = opt.precision || 'highp'; 10 | var color = opt.color; 11 | var map = opt.map; 12 | var negate = typeof opt.negate === 'boolean' ? opt.negate : true; 13 | 14 | // remove to satisfy r73 15 | delete opt.map; 16 | delete opt.color; 17 | delete opt.precision; 18 | delete opt.opacity; 19 | delete opt.negate; 20 | 21 | return assign({ 22 | uniforms: { 23 | opacity: { type: 'f', value: opacity }, 24 | time: { type: 'f', value: 0 }, 25 | viewport: { type: 'v2', value: new THREE.Vector2(window.innerWidth,window.innerHeight) }, 26 | uMouse: { type: 'v2', value: new THREE.Vector2(0,0) }, 27 | gradientMap: { type: 't', value: new THREE.TextureLoader().load(gradientTexture) }, 28 | map: { type: 't', value: map || new THREE.Texture() }, 29 | color: { type: 'c', value: new THREE.Color(color) } 30 | }, 31 | vertexShader: 32 | ` 33 | // #define attribute in 34 | // #define varying out 35 | // #define texture2D texture 36 | // precision highp float; 37 | // precision highp int; 38 | // #define HIGH_PRECISION 39 | // #define SHADER_NAME ShaderMaterial 40 | // #define VERTEX_TEXTURES 41 | // attribute vec2 uv; 42 | // attribute vec4 position; 43 | // uniform mat4 projectionMatrix; 44 | // uniform mat4 modelViewMatrix; 45 | varying vec2 vUv; 46 | void main() { 47 | vUv = uv; 48 | gl_Position = projectionMatrix * modelViewMatrix *vec4( position, 1.0 ); 49 | } 50 | ` 51 | , 52 | fragmentShader: ` 53 | 54 | // #define varying in 55 | // out highp vec4 pc_fragColor; 56 | // #define gl_FragColor pc_fragColor 57 | // #define gl_FragDepthEXT gl_FragDepth 58 | // #define texture2D texture 59 | // #define textureCube texture 60 | // #define texture2DProj textureProj 61 | // #define texture2DLodEXT textureLod 62 | // #define texture2DProjLodEXT textureProjLod 63 | // #define textureCubeLodEXT textureLod 64 | // #define texture2DGradEXT textureGrad 65 | // #define texture2DProjGradEXT textureProjGrad 66 | #define textureCubeGradEXT textureGrad 67 | #ifdef GL_OES_standard_derivatives 68 | #extension GL_OES_standard_derivatives : enable 69 | #endif 70 | precision highp float; 71 | precision highp int; 72 | uniform float opacity; 73 | uniform vec2 uMouse; 74 | uniform vec2 viewport; 75 | uniform float time; 76 | uniform vec3 color; 77 | uniform sampler2D map; 78 | uniform sampler2D gradientMap; 79 | varying vec2 vUv; 80 | 81 | float median(float r, float g, float b) { 82 | return max(min(r, g), min(max(r, g), b)); 83 | } 84 | 85 | float createCircle() { 86 | vec2 viewportUv = gl_FragCoord.xy / viewport; 87 | float viewportAspect = viewport.x / viewport.y; 88 | 89 | vec2 mousePoint = vec2(uMouse.x, 1.0 - uMouse.y); 90 | float circleRadius = max(0.0, 100. / viewport.x) ; 91 | 92 | vec2 shapeUv = viewportUv - mousePoint; 93 | shapeUv /= vec2(1.0, viewportAspect); 94 | shapeUv += mousePoint; 95 | 96 | float dist = distance(shapeUv, mousePoint); 97 | dist = smoothstep(circleRadius, circleRadius + 0.001, dist); 98 | return dist; 99 | // return uMouse.y; 100 | } 101 | 102 | void main() { 103 | float circle = createCircle(); 104 | float width = 0.1; 105 | float lineProgress = 0.3; 106 | vec3 mysample = texture2D(map, vUv).rgb; 107 | float gr = texture2D(gradientMap, vUv).r; 108 | 109 | float sigDist = median(mysample.r, mysample.g, mysample.b) - 0.5; 110 | float fill = clamp(sigDist/fwidth(sigDist) + 0.5, 0.0, 1.0); 111 | 112 | 113 | // stroke 114 | float border = fwidth(sigDist); 115 | float outline = smoothstep(0.,border,sigDist); 116 | outline *= 1.- smoothstep(width - border,width,sigDist); 117 | 118 | 119 | // gradient 120 | float grgr = fract(3.*gr + time/5.); 121 | float start = smoothstep(0.,0.01,grgr); 122 | float end = smoothstep(lineProgress,lineProgress -0.01,grgr); 123 | float mask = start*end; 124 | mask = max(0.2,mask); 125 | 126 | float finalAlpha = outline*mask + fill*circle; 127 | 128 | gl_FragColor = vec4(color.xyz, fill * opacity); 129 | gl_FragColor = vec4(color.xyz, finalAlpha); 130 | 131 | // gl_FragColor = vec4(vec3(outline), fill); 132 | // gl_FragColor = vec4(vec3(circle), fill); 133 | if (gl_FragColor.a < 0.001) discard; 134 | } 135 | ` 136 | }, opt); 137 | }; 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /public/src/Components/normal_msdf.js: -------------------------------------------------------------------------------- 1 | var assign = require('object-assign'); 2 | 3 | import gradientTexture from '../assests/gradient-map.png'; 4 | 5 | module.exports = function createMSDFShader (opt) { 6 | opt = opt || {}; 7 | var opacity = typeof opt.opacity === 'number' ? opt.opacity : 1; 8 | var alphaTest = typeof opt.alphaTest === 'number' ? opt.alphaTest : 0.0001; 9 | var precision = opt.precision || 'highp'; 10 | var color = opt.color; 11 | var map = opt.map; 12 | var negate = typeof opt.negate === 'boolean' ? opt.negate : true; 13 | 14 | // remove to satisfy r73 15 | delete opt.map; 16 | delete opt.color; 17 | delete opt.precision; 18 | delete opt.opacity; 19 | delete opt.negate; 20 | 21 | return assign({ 22 | uniforms: { 23 | opacity: { type: 'f', value: opacity }, 24 | time: { type: 'f', value: 0 }, 25 | viewport: { type: 'v2', value: new THREE.Vector2(window.innerWidth,window.innerHeight) }, 26 | uMouse: { type: 'v2', value: new THREE.Vector2(0,0) }, 27 | gradientMap: { type: 't', value: new THREE.TextureLoader().load(gradientTexture) }, 28 | map: { type: 't', value: map || new THREE.Texture() }, 29 | color: { type: 'c', value: new THREE.Color(color) } 30 | }, 31 | vertexShader: ` 32 | //To be filled with custom shader 33 | ` 34 | , 35 | fragmentShader: ` 36 | //To be filled with custom shader 37 | 38 | ` 39 | }, opt); 40 | }; 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /public/src/Components/vertex/rgb_vertex.glsl: -------------------------------------------------------------------------------- 1 | // uniform sampler2D uTexture; 2 | // uniform vec2 uOffset; 3 | // varying vec2 vUv; 4 | 5 | // float M_PI = 3.141529; 6 | 7 | // void main(){ 8 | // vUv = uv; 9 | // vec3 newPosition = position; 10 | 11 | // gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 12 | // } 13 | 14 | 15 | uniform sampler2D uTexture; 16 | uniform vec2 uOffset; 17 | varying vec2 vUv; 18 | 19 | #define M_PI 3.1415926535897932384626433832795 20 | 21 | vec3 deformationCurve(vec3 position, vec2 uv, vec2 offset) { 22 | position.x = position.x + (sin(uv.y * M_PI) * offset.x); 23 | position.y = position.y + (sin(uv.x * M_PI) * offset.y); 24 | return position; 25 | } 26 | 27 | void main() { 28 | vUv = uv; 29 | vec3 newPosition = deformationCurve(position, uv, uOffset); 30 | gl_Position = projectionMatrix * modelViewMatrix * vec4( newPosition, 1.0 ); 31 | } -------------------------------------------------------------------------------- /public/src/Components/vertex/vertex-01.glsl: -------------------------------------------------------------------------------- 1 | varying vec2 vUv; 2 | uniform float time; 3 | 4 | void main() { 5 | vUv = uv; 6 | vec3 p = vec3(position.x, position.y, position.z); 7 | 8 | gl_Position = projectionMatrix * modelViewMatrix * vec4(p, 1.0); 9 | } -------------------------------------------------------------------------------- /public/src/Components/vertex/vertex-02.glsl: -------------------------------------------------------------------------------- 1 | varying vec2 vUv; 2 | void main() 3 | { 4 | vUv = uv; 5 | gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ) ; 6 | } -------------------------------------------------------------------------------- /public/src/Loader.css: -------------------------------------------------------------------------------- 1 | .Loader { 2 | position: fixed; 3 | z-index: 10000; 4 | top: 0; 5 | left: 0; 6 | width: 100%; 7 | height: 100%; 8 | background: black; 9 | display: flex; 10 | justify-content: center; 11 | align-items: center; 12 | } 13 | 14 | .Loader video { 15 | width: 800px; 16 | } 17 | 18 | .Loader.hidden { 19 | animation: fadeout 1s; 20 | animation-fill-mode: forwards; 21 | } 22 | 23 | @keyframes fadeout { 24 | 100% { 25 | opacity: 0; 26 | visibility: hidden; 27 | } 28 | } -------------------------------------------------------------------------------- /public/src/Loader.js: -------------------------------------------------------------------------------- 1 | window.addEventListener("load", function () { 2 | let time = 0; 3 | setInterval(Count, 1000); 4 | 5 | function Count() { 6 | if (time == 2) { 7 | const Loader = document.querySelector(".Loader"); 8 | Loader.className += " hidden"; 9 | } 10 | time++; 11 | } 12 | }); 13 | -------------------------------------------------------------------------------- /public/src/assests/Lato-Black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/src/assests/Lato-Black.png -------------------------------------------------------------------------------- /public/src/assests/gradient-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/src/assests/gradient-map.png -------------------------------------------------------------------------------- /public/src/assests/manifold-msdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GDSC-IIIT-Kalyani/Winter-of-Code-2.0-frontend/442c240b82eea50b53d8c2f2a821a4314c85e823/public/src/assests/manifold-msdf.png -------------------------------------------------------------------------------- /public/src/index.js: -------------------------------------------------------------------------------- 1 | // import "./styles.css"; 2 | // import WebGLFont from "./Components/WebGLFont"; 3 | // import { shaders } from "./Components/import_shaders"; 4 | 5 | // //Parameters to be passed to the main font 6 | // const type = new WebGLFont({ 7 | // word: "WINTER\n OF CODE", 8 | // position: [-335, -35, 0], 9 | // rotation: [Math.PI, 0, 0], 10 | // zoom: 200, 11 | // vertex: shaders[1].vertex, 12 | // fragment: shaders[1].fragment, 13 | // index: 1, // Index required for shaders that require different(slighlty changed) three-bmfont MSDF shader for generating text 14 | // }); 15 | -------------------------------------------------------------------------------- /public/src/styles.css: -------------------------------------------------------------------------------- 1 | html { 2 | overflow-x: hidden; 3 | } 4 | 5 | .Text { 6 | position: absolute; 7 | top: 0; 8 | right: 15; 9 | z-index: 1000; 10 | } 11 | 12 | .Parallax { 13 | margin: 0; 14 | padding: 0; 15 | overflow: hidden; 16 | height: 1080px; 17 | background: #add6e6; 18 | } 19 | 20 | #homePage_container { 21 | width: 110vw; 22 | height: 110vw; 23 | } 24 | 25 | .layer1 img { 26 | margin-left: -500px; 27 | } 28 | 29 | .layer2 img { 30 | margin-left: -500px; 31 | } 32 | 33 | .layer3 img { 34 | margin-left: -500px; 35 | } 36 | 37 | .layer4 img { 38 | margin-left: -500px; 39 | } 40 | 41 | .layer5 img { 42 | margin-left: -500px; 43 | } 44 | 45 | .layer6 img { 46 | margin-left: -500px; 47 | } 48 | 49 | .layer7 img { 50 | margin-left: -500px; 51 | } 52 | 53 | .layer8 img { 54 | margin-left: -500px; 55 | } 56 | 57 | .layer9 img { 58 | margin-left: -500px; 59 | } 60 | 61 | .layer10 img { 62 | margin-left: -500px; 63 | } 64 | 65 | .layer11 img { 66 | margin-left: -430px; 67 | } 68 | 69 | .layer12 img { 70 | margin-left: -300px; 71 | } 72 | 73 | @media (max-width: 770px) { 74 | .Text{ 75 | display: none; 76 | } 77 | } 78 | 79 | @media (max-width: 768px) { 80 | #Homepage { 81 | display: none; 82 | } 83 | 84 | #About > div > img { 85 | display: none; 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { BrowserRouter, Switch, Route } from "react-router-dom"; 3 | import NavBar from "./components/header/NavBar"; 4 | import Home from "./components/home/Home"; 5 | import Footer from "./components/footer/Footer"; 6 | import Projects from "./components/projects/allProjects/Projects"; 7 | function App() { 8 | // const [userLoggedIn, setUserLoggedIn] = useState( 9 | // localStorage.getItem("wocLogin") ? true : false 10 | // ); 11 | 12 | return ( 13 | 14 | {/* */} 15 | 16 | 17 | 18 | 19 |