├── 3-All About Forms ├── deleteme.md ├── Screenshot 2022-10-06 192309.png ├── Screenshot 2022-10-09 203850.png ├── style.css └── index.html ├── .gitignore ├── 14-Spanish-Translator ├── .gitignore ├── images │ └── hero.png ├── script.js ├── index.html └── style.css ├── 28-Events-Page ├── public │ ├── _redirects │ ├── robots.txt │ ├── favicon.ico │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── index.html ├── src │ ├── App.css │ ├── logo.png │ ├── Components │ │ ├── Assets │ │ │ ├── event1.png │ │ │ └── event2.png │ │ ├── Navbar │ │ │ ├── Navbar.css │ │ │ └── Navbar.jsx │ │ ├── Events │ │ │ ├── Events.css │ │ │ └── Events.jsx │ │ ├── Card │ │ │ ├── Card.jsx │ │ │ └── Card.css │ │ └── Sidebar │ │ │ ├── Sidebar.css │ │ │ └── Sidebar.jsx │ ├── setupTests.js │ ├── App.test.js │ ├── reportWebVitals.js │ ├── index.css │ ├── App.jsx │ └── index.js └── README.md ├── 16-drum ├── README.md ├── images │ ├── kick.png │ ├── tom1.png │ ├── tom2.png │ ├── tom3.png │ ├── tom4.png │ ├── crash.png │ └── snare.png ├── sounds │ ├── crash.mp3 │ ├── snare.mp3 │ ├── tom-1.mp3 │ ├── tom-2.mp3 │ ├── tom-3.mp3 │ ├── tom-4.mp3 │ └── kick-bass.mp3 ├── index.html ├── styles.css └── index.js ├── 19-Weather-App ├── config.js ├── Readme.md ├── script.js ├── index.html └── style.css ├── 5-Todo-App ├── sky2.jpg ├── index.html ├── script.js └── style.css ├── 9- Civo clone ├── favicon.png ├── image │ ├── gcp.png │ ├── solo.png │ ├── tes.jpg │ ├── logo-b.jpg │ ├── captcha.png │ ├── civovideo.jpg │ ├── c-dashboard.png │ ├── k-dashboard.png │ ├── database-icon.png │ ├── azure.svg │ ├── civo-blue.svg │ ├── verizon.svg │ ├── cloudcoin.svg │ ├── netapp.svg │ ├── civo-footer.svg │ ├── civo.svg │ ├── meter.svg │ ├── aws.svg │ ├── defense.svg │ ├── magic.svg │ ├── circular.svg │ └── walmartlabs.svg └── script.js ├── 23-Parallex-Effect ├── img1.jpg ├── img2.jpg ├── img3.jpg └── style.css ├── 25-Blog Page ├── img │ ├── post-img.jpg │ ├── related-1.jpg │ ├── related-2.jpg │ ├── related-3.jpg │ ├── challenges.jpg │ └── laura-jones.jpg ├── blog.html └── style.css ├── 2-Netflix-Homepage ├── asset │ ├── logo.png │ ├── background.jpg │ ├── tab-content-1.png │ ├── tab-content-2-1.png │ ├── tab-content-2-2.png │ └── tab-content-2-3.png └── main.js ├── 21 - Tic-Tac-Toe ├── click-21156.mp3 ├── mixkit-arcade-retro-game-over-213.wav ├── style.css ├── index.html └── script.js ├── 22-Photography-Effect ├── assets │ ├── img1.jpg │ ├── img2.jpg │ └── img3.jpg └── style.css ├── 10 - Sunny summer ├── images │ ├── image-emily.jpg │ ├── image-jennie.jpg │ ├── image-thomas.jpg │ ├── mobile │ │ ├── image-header.jpg │ │ ├── image-photography.jpg │ │ ├── image-stand-out.jpg │ │ ├── image-transform.jpg │ │ ├── image-gallery-cone.jpg │ │ ├── image-gallery-orange.jpg │ │ ├── image-graphic-design.jpg │ │ ├── image-gallery-milkbottles.jpg │ │ └── image-gallery-sugar-cubes.jpg │ ├── desktop │ │ ├── image-header.jpg │ │ ├── image-stand-out.jpg │ │ ├── image-transform.jpg │ │ ├── image-gallery-cone.jpg │ │ ├── image-photography.jpg │ │ ├── image-gallery-orange.jpg │ │ ├── image-graphic-design.jpg │ │ ├── image-gallery-milkbottles.jpg │ │ └── image-gallery-sugar-cubes.jpg │ ├── icon-hamburger.svg │ ├── icon-arrow-down.svg │ ├── icon-facebook.svg │ ├── icon-twitter.svg │ ├── icon-pinterest.svg │ ├── icon-instagram.svg │ └── logo.svg ├── main.js └── index.html ├── 11 - ShoppingCard ├── img │ ├── favicon-32x32.png │ ├── image-product-desktop.jpg │ ├── image-product-mobile.jpg │ └── icon-cart.svg ├── index.html └── style.css ├── 19 - Microsoft Landing Page └── img │ ├── logo.png │ ├── xbox.png │ ├── carbon.jpg │ ├── card1.png │ ├── card2.png │ ├── card3.png │ ├── card4.png │ ├── card5.png │ ├── card6.jpg │ ├── card7.png │ ├── card8.png │ ├── favicon.ico │ ├── showcase.jpg │ ├── social-fb.png │ ├── social-twitter.png │ └── social-linkedin.png ├── 29-BMI Calculator ├── stylesheet.css ├── bmi.html └── script.js ├── Rock-Paper-scissors-Game-main ├── README.md ├── style.css ├── index.html └── script.js ├── 18-Leaderboard ├── style.css └── index.html ├── 1-Background-Changer ├── script.js ├── index.html └── style.css ├── 17-GitHub-Profile ├── index.html ├── script.js └── style.css ├── 4-Simply-Clock ├── script.js ├── index.html └── style.css ├── 24-BallFall-game ├── index.html ├── style.css └── script.js ├── 21 - Digital Clock ├── script.js ├── index.html └── style.css ├── 26-QR-Code-Generator ├── app.js ├── index.html └── style.css ├── CONTRIBUTING.md ├── 13-Stopwatch ├── index.html ├── index.js └── style.css ├── 8-Rock-Paper-Scissor ├── index.html ├── style.css └── script.js ├── .github └── workflows │ └── pages.yml ├── 15-Animated-Tab-Bar └── app.js ├── 12-All About Forms ├── style.css └── index.html ├── 7-Google-Clone ├── script.js └── index.html ├── 21-JokeMe ├── script.js └── index.html ├── 27-Typing-Test ├── index.html ├── style.css └── script.js ├── README.md ├── 20-Photography-Page ├── style.css └── index.html ├── 6-Random-caption-generator ├── index.html └── style.css └── Live-here.md /3-All About Forms/deleteme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | 13-Weather-App/config.js 3 | -------------------------------------------------------------------------------- /14-Spanish-Translator/.gitignore: -------------------------------------------------------------------------------- 1 | config.js 2 | -------------------------------------------------------------------------------- /28-Events-Page/public/_redirects: -------------------------------------------------------------------------------- 1 | /* /index.html 200 -------------------------------------------------------------------------------- /16-drum/README.md: -------------------------------------------------------------------------------- 1 | # drum 2 | 3 | drum made during web dev course 4 | -------------------------------------------------------------------------------- /19-Weather-App/config.js: -------------------------------------------------------------------------------- 1 | var config = { 2 | MY_KEY : "03b2d3015ebcba59c0eea874c85ca560" 3 | } -------------------------------------------------------------------------------- /5-Todo-App/sky2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/5-Todo-App/sky2.jpg -------------------------------------------------------------------------------- /16-drum/images/kick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/kick.png -------------------------------------------------------------------------------- /16-drum/images/tom1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/tom1.png -------------------------------------------------------------------------------- /16-drum/images/tom2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/tom2.png -------------------------------------------------------------------------------- /16-drum/images/tom3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/tom3.png -------------------------------------------------------------------------------- /16-drum/images/tom4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/tom4.png -------------------------------------------------------------------------------- /16-drum/images/crash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/crash.png -------------------------------------------------------------------------------- /16-drum/images/snare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/images/snare.png -------------------------------------------------------------------------------- /16-drum/sounds/crash.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/crash.mp3 -------------------------------------------------------------------------------- /16-drum/sounds/snare.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/snare.mp3 -------------------------------------------------------------------------------- /16-drum/sounds/tom-1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/tom-1.mp3 -------------------------------------------------------------------------------- /16-drum/sounds/tom-2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/tom-2.mp3 -------------------------------------------------------------------------------- /16-drum/sounds/tom-3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/tom-3.mp3 -------------------------------------------------------------------------------- /16-drum/sounds/tom-4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/tom-4.mp3 -------------------------------------------------------------------------------- /28-Events-Page/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /28-Events-Page/src/App.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | -------------------------------------------------------------------------------- /9- Civo clone/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/favicon.png -------------------------------------------------------------------------------- /16-drum/sounds/kick-bass.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/16-drum/sounds/kick-bass.mp3 -------------------------------------------------------------------------------- /23-Parallex-Effect/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/23-Parallex-Effect/img1.jpg -------------------------------------------------------------------------------- /23-Parallex-Effect/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/23-Parallex-Effect/img2.jpg -------------------------------------------------------------------------------- /23-Parallex-Effect/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/23-Parallex-Effect/img3.jpg -------------------------------------------------------------------------------- /28-Events-Page/src/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/src/logo.png -------------------------------------------------------------------------------- /9- Civo clone/image/gcp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/gcp.png -------------------------------------------------------------------------------- /9- Civo clone/image/solo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/solo.png -------------------------------------------------------------------------------- /9- Civo clone/image/tes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/tes.jpg -------------------------------------------------------------------------------- /25-Blog Page/img/post-img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/post-img.jpg -------------------------------------------------------------------------------- /25-Blog Page/img/related-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/related-1.jpg -------------------------------------------------------------------------------- /25-Blog Page/img/related-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/related-2.jpg -------------------------------------------------------------------------------- /25-Blog Page/img/related-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/related-3.jpg -------------------------------------------------------------------------------- /9- Civo clone/image/logo-b.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/logo-b.jpg -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/logo.png -------------------------------------------------------------------------------- /21 - Tic-Tac-Toe/click-21156.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/21 - Tic-Tac-Toe/click-21156.mp3 -------------------------------------------------------------------------------- /25-Blog Page/img/challenges.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/challenges.jpg -------------------------------------------------------------------------------- /25-Blog Page/img/laura-jones.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/25-Blog Page/img/laura-jones.jpg -------------------------------------------------------------------------------- /28-Events-Page/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/public/favicon.ico -------------------------------------------------------------------------------- /28-Events-Page/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/public/logo192.png -------------------------------------------------------------------------------- /28-Events-Page/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/public/logo512.png -------------------------------------------------------------------------------- /9- Civo clone/image/captcha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/captcha.png -------------------------------------------------------------------------------- /9- Civo clone/image/civovideo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/civovideo.jpg -------------------------------------------------------------------------------- /9- Civo clone/image/c-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/c-dashboard.png -------------------------------------------------------------------------------- /9- Civo clone/image/k-dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/k-dashboard.png -------------------------------------------------------------------------------- /14-Spanish-Translator/images/hero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/14-Spanish-Translator/images/hero.png -------------------------------------------------------------------------------- /22-Photography-Effect/assets/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/22-Photography-Effect/assets/img1.jpg -------------------------------------------------------------------------------- /22-Photography-Effect/assets/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/22-Photography-Effect/assets/img2.jpg -------------------------------------------------------------------------------- /22-Photography-Effect/assets/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/22-Photography-Effect/assets/img3.jpg -------------------------------------------------------------------------------- /9- Civo clone/image/database-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/9- Civo clone/image/database-icon.png -------------------------------------------------------------------------------- /10 - Sunny summer/images/image-emily.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/image-emily.jpg -------------------------------------------------------------------------------- /11 - ShoppingCard/img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/11 - ShoppingCard/img/favicon-32x32.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/logo.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/xbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/xbox.png -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/background.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/image-jennie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/image-jennie.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/image-thomas.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/image-thomas.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/carbon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/carbon.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card1.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card2.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card3.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card4.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card5.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card6.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card7.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/card8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/card8.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/favicon.ico -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/tab-content-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/tab-content-1.png -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/showcase.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/showcase.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/social-fb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/social-fb.png -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/tab-content-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/tab-content-2-1.png -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/tab-content-2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/tab-content-2-2.png -------------------------------------------------------------------------------- /2-Netflix-Homepage/asset/tab-content-2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/2-Netflix-Homepage/asset/tab-content-2-3.png -------------------------------------------------------------------------------- /28-Events-Page/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | Events Page in Reactjs with Sorting Algo 3 | --- 4 | Live Link - https://assignment-for-intern-by-bk.netlify.app/ 5 | -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-header.jpg -------------------------------------------------------------------------------- /11 - ShoppingCard/img/image-product-desktop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/11 - ShoppingCard/img/image-product-desktop.jpg -------------------------------------------------------------------------------- /11 - ShoppingCard/img/image-product-mobile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/11 - ShoppingCard/img/image-product-mobile.jpg -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Assets/event1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/src/Components/Assets/event1.png -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Assets/event2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/28-Events-Page/src/Components/Assets/event2.png -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-header.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/social-twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/social-twitter.png -------------------------------------------------------------------------------- /3-All About Forms/Screenshot 2022-10-06 192309.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/3-All About Forms/Screenshot 2022-10-06 192309.png -------------------------------------------------------------------------------- /3-All About Forms/Screenshot 2022-10-09 203850.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/3-All About Forms/Screenshot 2022-10-09 203850.png -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-stand-out.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-stand-out.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-transform.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-transform.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-photography.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-photography.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-stand-out.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-stand-out.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-transform.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-transform.jpg -------------------------------------------------------------------------------- /19 - Microsoft Landing Page/img/social-linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/19 - Microsoft Landing Page/img/social-linkedin.png -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-gallery-cone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-gallery-cone.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-photography.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-photography.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-gallery-cone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-gallery-cone.jpg -------------------------------------------------------------------------------- /21 - Tic-Tac-Toe/mixkit-arcade-retro-game-over-213.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/21 - Tic-Tac-Toe/mixkit-arcade-retro-game-over-213.wav -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-gallery-orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-gallery-orange.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-graphic-design.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-graphic-design.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-gallery-orange.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-gallery-orange.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-graphic-design.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-graphic-design.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-gallery-milkbottles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-gallery-milkbottles.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/desktop/image-gallery-sugar-cubes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/desktop/image-gallery-sugar-cubes.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-gallery-milkbottles.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-gallery-milkbottles.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/mobile/image-gallery-sugar-cubes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/epicdeepak/Journey-with-js/HEAD/10 - Sunny summer/images/mobile/image-gallery-sugar-cubes.jpg -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-hamburger.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /29-BMI Calculator/stylesheet.css: -------------------------------------------------------------------------------- 1 | form, input { 2 | font-size: 18px; 3 | 4 | 5 | } 6 | body { 7 | background-color: whitesmoke; 8 | } 9 | #button { 10 | background-color: blueviolet; 11 | } 12 | -------------------------------------------------------------------------------- /25-Blog Page/blog.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | BLOG 5 | 6 | 7 |

BLOG

8 | Back to home 9 | 10 | 11 | -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Navbar/Navbar.css: -------------------------------------------------------------------------------- 1 | .navbar { 2 | width: 100vw; 3 | height: 10vh; 4 | box-shadow: 5px 5px 15px 5px #efefef; 5 | } 6 | .logo img { 7 | width: 153px; 8 | height: 73px; 9 | } 10 | -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /28-Events-Page/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /28-Events-Page/src/App.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | import App from './App'; 3 | 4 | test('renders learn react link', () => { 5 | render(); 6 | const linkElement = screen.getByText(/learn react/i); 7 | expect(linkElement).toBeInTheDocument(); 8 | }); 9 | -------------------------------------------------------------------------------- /19-Weather-App/Readme.md: -------------------------------------------------------------------------------- 1 | # **Weather App** 2 | 3 | ## This is a Weather App game developed using HTML, CSS and JAVASCRIPT. This is very helpful project to understand the basics of Javascript. Hope this project helps other developers wo are starting out their web development journey. 4 | 5 | ### Link:- 6 | 7 | ### https://rococo-cat-d54cba.netlify.app/ 8 | -------------------------------------------------------------------------------- /Rock-Paper-scissors-Game-main/README.md: -------------------------------------------------------------------------------- 1 | # Rock-Paper-scissors-Game 2 | The rock is a closed fist; paper is a flat hand with fingers and thumb extended and the palm facing downward; and scissors is a fist with the index and middle fingers fully extended toward the opposing player. Rock wins against scissors; paper wins against rock; and scissors wins against paper. 3 | -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Navbar/Navbar.jsx: -------------------------------------------------------------------------------- 1 | 2 | import React from "react"; 3 | import logo from "../../logo.png" 4 | import "./Navbar.css" 5 | 6 | const Navbar = () => { 7 | return ( 8 |
9 |
10 | 11 |
12 |
13 | ); 14 | } 15 | 16 | export default Navbar -------------------------------------------------------------------------------- /9- Civo clone/script.js: -------------------------------------------------------------------------------- 1 | const menuBtn = document.querySelector('.ham'); 2 | const nav= document.querySelector('.links'); 3 | let menuOpen = false; 4 | menuBtn.addEventListener('click',() => { 5 | if(!menuOpen){ 6 | menuOpen = true; 7 | nav.classList.add('active'); 8 | } 9 | else{ 10 | menuOpen = false; 11 | nav.classList.remove('active'); 12 | } 13 | }) -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-facebook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /28-Events-Page/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /18-Leaderboard/style.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | width: 100%; 4 | } 5 | 6 | .input-value, .heading { 7 | display: block; 8 | width: 100; 9 | text-align: center; 10 | 11 | } 12 | 13 | .input-text { 14 | display:inline-block; 15 | 16 | } 17 | 18 | .button { 19 | display:inline-block; 20 | background-color: #E9967A 21 | } 22 | 23 | .required-text { 24 | display: block; 25 | width: 100%; 26 | text-align: center; 27 | } 28 | -------------------------------------------------------------------------------- /28-Events-Page/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | a{ 15 | text-decoration: none; 16 | } -------------------------------------------------------------------------------- /1-Background-Changer/script.js: -------------------------------------------------------------------------------- 1 | const box = document.querySelector('.box'); 2 | const text = document.querySelector('input'); 3 | const body = document.querySelector('body'); 4 | text.addEventListener('keyup', (e) => { 5 | const bgColor = e.target.value; 6 | body.style.backgroundColor = bgColor; 7 | setTimeout(() => { 8 | resetBG(); 9 | }, 3000); 10 | }); 11 | 12 | function resetBG() { 13 | body.style.backgroundColor = 'white'; 14 | text.value = ''; 15 | } -------------------------------------------------------------------------------- /28-Events-Page/src/App.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Route,Routes } from "react-router-dom"; 3 | import "./App.css"; 4 | import Navbar from "./Components/Navbar/Navbar"; 5 | import Events from "./Components/Events/Events"; 6 | 7 | function App() { 8 | return ( 9 | <> 10 | 11 | 12 | } /> 13 | } /> 14 | 15 | 16 | ); 17 | } 18 | 19 | export default App; 20 | -------------------------------------------------------------------------------- /9- Civo clone/image/azure.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /10 - Sunny summer/main.js: -------------------------------------------------------------------------------- 1 | const menuBtn = document.querySelector('.menu-burger'); 2 | const nav= document.querySelector('.nav-links'); 3 | let menuOpen = false; 4 | menuBtn.addEventListener('click',() => { 5 | if(!menuOpen){ 6 | menuBtn.classList.add('open'); 7 | menuOpen = true; 8 | nav.classList.add('active-links'); 9 | } 10 | else{ 11 | menuBtn.classList.remove('open'); 12 | menuOpen = false; 13 | nav.classList.remove('active-links'); 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Events/Events.css: -------------------------------------------------------------------------------- 1 | .title { 2 | text-align: center; 3 | margin-top: 60px; 4 | font-family: Montserrat; 5 | font-size: 50px; 6 | font-weight: 600; 7 | } 8 | 9 | .main_content { 10 | display: flex; 11 | } 12 | .card_events { 13 | display: flex; 14 | flex-wrap: wrap; 15 | overflow-y: scroll; 16 | height: 100vh; 17 | } 18 | .card_events::-webkit-scrollbar { 19 | display: none; 20 | } 21 | .countries { 22 | margin-left: 125px; 23 | /* position:static; */ 24 | } 25 | -------------------------------------------------------------------------------- /1-Background-Changer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Background Changer 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /11 - ShoppingCard/img/icon-cart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /17-GitHub-Profile/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Github Profile 10 | 11 | 12 | 13 | 14 |
15 | 16 |
17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /28-Events-Page/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 | -------------------------------------------------------------------------------- /4-Simply-Clock/script.js: -------------------------------------------------------------------------------- 1 | setInterval(setTime, 1000); 2 | 3 | function setTime(){ 4 | let currentTime = new Date(); 5 | let secondRatio = currentTime.getSeconds() / 60; 6 | let minuteRatio = ( secondRatio + currentTime.getMinutes()) / 60; 7 | let hourRatio = ( minuteRatio + currentTime.getHours()) / 12; 8 | 9 | rotateHand( document.querySelector(".second"), secondRatio ); 10 | rotateHand( document.querySelector(".minute"), minuteRatio ); 11 | rotateHand( document.querySelector(".hour"), hourRatio ); 12 | } 13 | 14 | function rotateHand(hand, degree){ 15 | hand.style.transform = `rotate(${degree * 360}deg)`; 16 | } 17 | 18 | setTime(); -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Card/Card.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import "./Card.css" 3 | 4 | const Card = ({event}) => { 5 | return (<> 6 |
7 |
8 | 9 |
10 |
11 |

{event.title}

12 |

{event.date}

13 |

{event.venue}

14 |
15 | 16 |
17 | 18 | 19 | ) 20 | } 21 | 22 | export default Card -------------------------------------------------------------------------------- /29-BMI Calculator/bmi.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | BMI Calculator 4 | 5 | 6 | 7 | 8 | 9 | 10 |

BMI Calculator

11 |
12 |
13 |
14 | 15 |

16 | 17 |
18 | 19 | 20 |
21 |
22 | 23 |
24 | 25 |

26 |
27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /24-BallFall-game/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Ball Fall 9 | 10 | 11 | 12 |
13 |
14 |
15 |
16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /28-Events-Page/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import './index.css'; 4 | import App from './App'; 5 | import reportWebVitals from './reportWebVitals'; 6 | import { BrowserRouter } from 'react-router-dom'; 7 | 8 | const root = ReactDOM.createRoot(document.getElementById('root')); 9 | root.render( 10 | 11 | 12 | 13 | 14 | 15 | ); 16 | 17 | // If you want to start measuring performance in your app, pass a function 18 | // to log results (for example: reportWebVitals(console.log)) 19 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 20 | reportWebVitals(); 21 | -------------------------------------------------------------------------------- /Rock-Paper-scissors-Game-main/style.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | width: 100%; 4 | padding: 0; 5 | margin:0; 6 | } 7 | 8 | .wrapper { 9 | background: #1c1c1c; 10 | color: white; 11 | display: flex; 12 | align-items: center; 13 | justify-content: center; 14 | width: 100%; 15 | height: 100%; 16 | flex-direction: column; 17 | } 18 | 19 | .buttons { 20 | display: flex; 21 | gap: 20px; 22 | } 23 | 24 | button { 25 | height: 100px; 26 | width: 100px; 27 | font-size: 48px; 28 | border-radius: 30px; 29 | cursor: pointer; 30 | 31 | } 32 | 33 | .resultContainer { 34 | font-size: 2rem; 35 | text-align: center; 36 | margin-top: 20px; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /29-BMI Calculator/script.js: -------------------------------------------------------------------------------- 1 | function calculate() { 2 | var height = parseFloat(document.getElementById("height").value); 3 | var weight = parseFloat(document.getElementById("weight").value); 4 | var bmi = weight / (height * height); 5 | if (bmi < 18.5) { 6 | document.getElementById("result").innerHTML = 7 | "Underweight : " + bmi.toFixed(2); 8 | } else if (bmi >= 18.5 && bmi <= 24.9) { 9 | document.getElementById("result").innerHTML = 10 | "Healthy Weight : " + bmi.toFixed(2); 11 | } else if (bmi >= 25.0 && bmi <= 29.9) { 12 | document.getElementById("result").innerHTML = 13 | "Overweight : " + bmi.toFixed(2); 14 | } else if (bmi >= 30.0) { 15 | document.getElementById("result").innerHTML = "Obesity : " + bmi.toFixed(2); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /21 - Digital Clock/script.js: -------------------------------------------------------------------------------- 1 | const hourEl = document.getElementById('hh') 2 | const minEl = document.getElementById('mm') 3 | const secEl = document.getElementById('ss') 4 | const ampmEl = document.getElementById('ampm') 5 | 6 | function updateClock () { 7 | let h = new Date().getHours() 8 | let m = new Date().getMinutes() 9 | let s = new Date().getSeconds() 10 | let ampm = "AM" 11 | 12 | if(h>12) { 13 | h=h-12 14 | ampm="PM" 15 | } 16 | 17 | h = h<10 ? "0"+h : h 18 | m = m<10 ? "0"+m : m 19 | s = s<10 ? "0"+s : s 20 | 21 | hourEl.innerText = h; 22 | minEl.innerText = m; 23 | secEl.innerText = s; 24 | ampmEl.innerText = ampm; 25 | 26 | setTimeout(()=>{ 27 | updateClock() 28 | }, 1000) 29 | } 30 | 31 | updateClock() -------------------------------------------------------------------------------- /16-drum/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Drum Kit 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Drum 🥁 Kit

14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 |
26 | Made with ❤️ in London. 27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-pinterest.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /26-QR-Code-Generator/app.js: -------------------------------------------------------------------------------- 1 | const main = document.querySelector(".main"); 2 | myInput = main.querySelector("input"); 3 | mybtn = main.querySelector("button"); 4 | qrImage = main.querySelector("img"); 5 | closeBtn = main.querySelector('span') 6 | 7 | mybtn.addEventListener("click", () => { 8 | let value = myInput.value; 9 | if(!value) return; 10 | console.log(value) 11 | mybtn.innerText = "Generating your QR Code..." 12 | qrImage.src= `https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${value}`; 13 | qrImage.addEventListener('load', () =>{ 14 | main.classList.add('active') 15 | mybtn.innerText = "Generate Code" 16 | }) 17 | 18 | }) 19 | 20 | closeBtn.addEventListener('click', () => { 21 | main.classList.remove("active"); 22 | myInput.value = ""; 23 | }); -------------------------------------------------------------------------------- /2-Netflix-Homepage/main.js: -------------------------------------------------------------------------------- 1 | const tabItems = document.querySelectorAll(".tab-item"); 2 | const tabContentItems = document.querySelectorAll(".tab-content-item"); 3 | 4 | // Select tab content 5 | function selectItem(e) { 6 | removeBorder(); 7 | removeShow(); 8 | // Add border to current tab 9 | this.classList.add("tab-border"); 10 | // Grab content item from DOM 11 | const tabContentItem = document.querySelector(`#${this.id}-content`); 12 | // Add show class 13 | tabContentItem.classList.add("show"); 14 | } 15 | 16 | function removeBorder() { 17 | tabItems.forEach((item) => item.classList.remove("tab-border")); 18 | } 19 | 20 | function removeShow() { 21 | tabContentItems.forEach((item) => item.classList.remove("show")); 22 | } 23 | 24 | // Listen for tab click 25 | tabItems.forEach((item) => item.addEventListener("click", selectItem)); 26 | -------------------------------------------------------------------------------- /Rock-Paper-scissors-Game-main/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Rock,Paper and Scissors 8 | 9 | 10 | 11 | 12 |
13 |
14 | 15 | 16 | 17 |
18 |
19 |
20 |
21 |
22 | 23 |
24 |
25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /19-Weather-App/script.js: -------------------------------------------------------------------------------- 1 | var search=document.getElementById('search'); 2 | 3 | 4 | search.addEventListener("click",()=>{ 5 | var find=document.getElementById('find').value; 6 | console.log(find); 7 | var mykey = config.MY_KEY; 8 | 9 | const url=`https://api.openweathermap.org/data/2.5/weather?q=${find}&units=metric&appid=`+mykey; 10 | fetch(url) 11 | .then((response)=>{ 12 | return response.json(); 13 | }) 14 | .then((data)=>{ 15 | console.log(data); 16 | document.getElementById('city').innerHTML=data.name; 17 | document.getElementById('temp').innerHTML=data.main.temp+" \u00B0C"; 18 | document.getElementById('min').innerHTML="Min "+data.main.temp_min+" \u00B0C"; 19 | document.getElementById('max').innerHTML="Max "+data.main.temp_max+" \u00B0C"; 20 | document.getElementById('humidity').innerHTML=data.main.humidity; 21 | 22 | }) 23 | }) 24 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## How to Contribute 2 | * First register yourself at [Hacktoberfest](https://hacktoberfest.com/) 3 | * Fork this repo. 4 | * Clone the forked repo. 5 | * Add your project, do the necessary changes. 6 | * Commit the changes. 7 | * Push the changes to the forked repo. 8 | * Create a pull request. 9 | * and done...will be reviewed soon. 10 | 11 | # Format for pull request 12 | - Project Name 13 | - Project Screenshot 14 | - Update [Live-here](/Live-here.md) with your project 15 | 16 | 17 | 18 |
19 | 20 | #### For more information on how to contribute to open source projects, check out this [link](https://opensource.guide/how-to-contribute/) and [this](https://www.digitalocean.com/community/tutorial_series/an-introduction-to-open-source) and "How to Contribute to Open Source" by [freeCodeCamp](https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects/). 21 | -------------------------------------------------------------------------------- /23-Parallex-Effect/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | html{ 7 | scroll-behavior: smooth; 8 | } 9 | ::-webkit-scrollbar{ 10 | display: none; 11 | } 12 | p{ 13 | font-size: 21px; 14 | line-height: 1.5; 15 | font-family: Arial; 16 | } 17 | .img1{ 18 | height: 100vh; 19 | display: flex; 20 | justify-content: center; 21 | align-items: center; 22 | text-align: center; 23 | background-image: url('img1.jpg'); 24 | } 25 | .img1,.img2,.img3{ 26 | background-position: center; 27 | background-size: cover; 28 | background-repeat: no-repeat; 29 | background-attachment: fixed; 30 | } 31 | .img2{ 32 | height: 50vh; 33 | background-image:url('img2.jpg'); 34 | } 35 | .img3{ 36 | height: 50vh; 37 | background-image: url('img3.jpg'); 38 | } 39 | .para{ 40 | background-color: #ccc; 41 | color: rgb(28, 24, 24); 42 | padding: 2rem 3rem; 43 | } -------------------------------------------------------------------------------- /22-Photography-Effect/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | html{ 7 | scroll-behavior: smooth; 8 | } 9 | ::-webkit-scrollbar{ 10 | display: none; 11 | } 12 | p{ 13 | font-size: 21px; 14 | line-height: 1.5; 15 | font-family: Arial; 16 | } 17 | .img1{ 18 | height: 100vh; 19 | display: flex; 20 | justify-content: center; 21 | align-items: center; 22 | text-align: center; 23 | background-image: url('assets/img1.jpg'); 24 | } 25 | .img1,.img2,.img3{ 26 | background-position: center; 27 | background-size: cover; 28 | background-repeat: no-repeat; 29 | background-attachment: fixed; 30 | } 31 | .img2{ 32 | height: 50vh; 33 | background-image:url('assets/img2.jpg'); 34 | } 35 | .img3{ 36 | height: 50vh; 37 | background-image: url('assets/img3.jpg'); 38 | } 39 | .para{ 40 | background-color: #ccc; 41 | color: rgb(28, 24, 24); 42 | padding: 2rem 3rem; 43 | } -------------------------------------------------------------------------------- /10 - Sunny summer/images/icon-instagram.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /1-Background-Changer/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Montserrat:300,600&display=swap'); 2 | * { 3 | box-sizing: border-box; 4 | } 5 | 6 | body { 7 | font-family: 'Montserrat', sans-serif; 8 | display: flex; 9 | align-items: center; 10 | justify-content: center; 11 | height: 100vh; 12 | margin: 0; 13 | overflow: hidden; 14 | flex-direction: column; 15 | } 16 | 17 | input { 18 | height: 36px; 19 | width: 100%; 20 | color: black; 21 | text-align: center; 22 | background: none; 23 | border: none; 24 | margin-bottom: 30px; 25 | font-size: 32px; 26 | line-height: 36px; 27 | letter-spacing: 1px; 28 | resize: none; 29 | overflow: hidden; 30 | box-sizing: border-box; 31 | } 32 | 33 | ::placeholder { 34 | color: #663b03aa !important; 35 | } 36 | 37 | input:focus { 38 | outline: 0; 39 | } 40 | 41 | input { 42 | outline: none; 43 | } 44 | -------------------------------------------------------------------------------- /21 - Digital Clock/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Digital Clock 9 | 10 | 11 |
12 |

Digital Clock

13 |
14 |
15 | 00 16 | Hours 17 |
18 |
19 | 00 20 | Minutes 21 |
22 |
23 | 00 24 | Seconds 25 |
26 |
27 | AM 28 |
29 |
30 |
31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /13-Stopwatch/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Simple Stopwatch 6 | 7 | 8 | 12 | 16 | 17 | 18 | 19 |
20 | 21 |

STOPWATCH

22 |
23 | 00:00:00 24 |
25 | 26 | 27 |
28 | 29 | 30 |
31 |
32 | 33 | 34 | -------------------------------------------------------------------------------- /19-Weather-App/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Weather App 8 | 9 | 10 | 11 |
12 |

Weather App

13 | 14 | 15 |

City Name

16 |

22.16 °C

17 |
18 |

Min 22.16 °C

19 |

Max 22.16 °C

20 |
21 |

Humidity

22 |

X

23 |
24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /26-QR-Code-Generator/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | QR Code Generator 8 | 9 | 10 | 11 |
12 |
13 |

QR Code Generator

14 |
15 |

Enter your url or Text to create code

16 | Delete 17 |
18 |
19 |
20 | 21 | 22 |
23 |
24 | 25 |
26 | 27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /5-Todo-App/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | todo-app 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 |
20 | 21 | 22 |
23 | 24 |
    25 |
  • 26 | 27 | test item 28 | 29 |
  • 30 |
31 | 32 |
33 | 34 | -------------------------------------------------------------------------------- /11 - ShoppingCard/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Gabriella 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 | 17 |
18 |
19 | PERFUME 20 |

Gabriella Essence Eau De Parfum

21 |

A floral, solar and voluptous interpretation composed by Oliver Polge,Perfumer-Creator for the House 22 | of CHANEL

23 |

$149.99$169.99

24 | Shopping Cart Add to Cart 25 |
26 |
27 |
28 | 29 | 30 | -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Sidebar/Sidebar.css: -------------------------------------------------------------------------------- 1 | .sidebar { 2 | width: 381px; 3 | height: 586px; 4 | border-radius: 20px; 5 | margin-left: 50px; 6 | margin-top: 20px; 7 | background: #ffffff; 8 | box-shadow: 0px 4px 20px rgba(85, 87, 88, 0.15); 9 | border-radius: 20px; 10 | display: flex; 11 | justify-content: center; 12 | align-items: flex-start; 13 | } 14 | .country_list { 15 | display: flex; 16 | flex-direction: column; 17 | align-items: center; 18 | row-gap: 15px; 19 | margin-top: 30px; 20 | width: 100%; 21 | padding: 10px 10px; 22 | } 23 | .country_name { 24 | list-style-type: none; 25 | font-family: "Montserrat"; 26 | font-style: normal; 27 | font-weight: 500; 28 | font-size: 18px; 29 | color: #000000; 30 | width: 90%; 31 | padding: 0px 10px; 32 | 33 | } 34 | 35 | .country_name.active{ 36 | padding: 10px 10px; 37 | background-color: red; 38 | background: #f16621; 39 | box-shadow: 0px 4px 10px rgba(156, 187, 217, 0.51); 40 | border-radius: 12px; 41 | color: white; 42 | } 43 | -------------------------------------------------------------------------------- /4-Simply-Clock/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | clock 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 18 |
1
19 |
2
20 |
3
21 |
4
22 |
5
23 |
6
24 |
7
25 |
8
26 |
9
27 |
10
28 |
11
29 |
12
30 |
31 | 32 | -------------------------------------------------------------------------------- /8-Rock-Paper-Scissor/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | rock paper scissors 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 |
👊
17 |
18 |
19 |
20 | 21 |
22 |

you : 0

23 |

bot : 0

24 |
25 | 26 |
27 |
28 |
result
29 |
30 |
31 | 32 | 33 |
34 | 35 | -------------------------------------------------------------------------------- /.github/workflows/pages.yml: -------------------------------------------------------------------------------- 1 | # Simple workflow for deploying static content to GitHub Pages 2 | name: Deploy static content to Pages 3 | 4 | on: 5 | # Runs on pushes targeting the default branch 6 | push: 7 | branches: ["main"] 8 | 9 | # Allows you to run this workflow manually from the Actions tab 10 | workflow_dispatch: 11 | 12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 13 | permissions: 14 | contents: read 15 | pages: write 16 | id-token: write 17 | 18 | # Allow one concurrent deployment 19 | concurrency: 20 | group: "pages" 21 | cancel-in-progress: true 22 | 23 | jobs: 24 | # Single deploy job since we're just deploying 25 | deploy: 26 | environment: 27 | name: github-pages 28 | url: ${{ steps.deployment.outputs.page_url }} 29 | runs-on: ubuntu-latest 30 | steps: 31 | - name: Checkout 32 | uses: actions/checkout@v3 33 | - name: Setup Pages 34 | uses: actions/configure-pages@v2 35 | - name: Upload artifact 36 | uses: actions/upload-pages-artifact@v1 37 | with: 38 | # Upload entire repository 39 | path: '.' 40 | - name: Deploy to GitHub Pages 41 | id: deployment 42 | uses: actions/deploy-pages@v1 43 | -------------------------------------------------------------------------------- /15-Animated-Tab-Bar/app.js: -------------------------------------------------------------------------------- 1 | const buttons = document.querySelectorAll(".menu__item"); 2 | let activeButton = document.querySelector(".menu__item.active"); 3 | 4 | buttons.forEach(item => { 5 | 6 | const text = item.querySelector(".menu__text"); 7 | setLineWidth(text, item); 8 | 9 | window.addEventListener("resize", () => { 10 | setLineWidth(text, item); 11 | }) 12 | 13 | item.addEventListener("click", function () { 14 | if (this.classList.contains("active")) return; 15 | 16 | this.classList.add("active"); 17 | 18 | if (activeButton) { 19 | activeButton.classList.remove("active"); 20 | activeButton.querySelector(".menu__text").classList.remove("active"); 21 | } 22 | 23 | handleTransition(this, text); 24 | activeButton = this; 25 | 26 | }); 27 | 28 | 29 | }); 30 | 31 | 32 | function setLineWidth(text, item) { 33 | const lineWidth = text.offsetWidth + "px"; 34 | item.style.setProperty("--lineWidth", lineWidth); 35 | } 36 | 37 | function handleTransition(item, text) { 38 | 39 | item.addEventListener("transitionend", (e) => { 40 | 41 | if (e.propertyName != "flex-grow" || 42 | !item.classList.contains("active")) return; 43 | 44 | text.classList.add("active"); 45 | 46 | }); 47 | 48 | } -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Events/Events.jsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import Sidebar from "../Sidebar/Sidebar"; 3 | import Card from "../Card/Card"; 4 | import eventsData from "../Assets/Data/eventsData"; 5 | import "./Events.css"; 6 | 7 | const Events = () => { 8 | const [sortedData, setSortedData] = useState(eventsData); 9 | const countryList = [...new Set(eventsData.map((val) => val.country))]; 10 | const filterEvents = (curcat) => { 11 | const newItem = eventsData.filter((newVal) => { 12 | return newVal.country === curcat; 13 | }); 14 | setSortedData(newItem); 15 | }; 16 | return ( 17 |
18 |

Explore Our Events

19 |
20 |
21 | 27 |
28 |
29 | {sortedData.map((event, i) => { 30 | return ; 31 | })} 32 |
33 |
34 |
35 | ); 36 | }; 37 | 38 | export default Events; 39 | -------------------------------------------------------------------------------- /5-Todo-App/script.js: -------------------------------------------------------------------------------- 1 | const form = document.querySelector("form"); 2 | 3 | form.addEventListener("submit", (e) => { 4 | 5 | e.preventDefault(); 6 | 7 | const input = e.target[0]; //input 8 | console.log(input.value); 9 | if(input.value.trim() === ""){ 10 | console.log("please add a valid todo"); 11 | input.value = ""; 12 | return; 13 | } 14 | 15 | const ul = document.querySelector("ul"); 16 | 17 | const li = document.createElement("li"); 18 | 19 | li.innerHTML = 20 | ` 21 | ${input.value} 22 | `; 23 | 24 | ul.append(li); 25 | input.value = ""; 26 | 27 | }); 28 | 29 | const list = document.querySelector("ul"); 30 | 31 | list.addEventListener("click", (e) => { 32 | console.dir(e.target); 33 | 34 | if( e.target.name === "done"){ 35 | console.log("checked"); 36 | 37 | const task = e.target.nextElementSibling; 38 | console.log(task); 39 | task.style.textDecoration = task.style.textDecoration === "line-through" ? "none" : "line-through"; 40 | 41 | } 42 | 43 | if( e.target.classList.contains("delete") ){ 44 | console.log("delete"); 45 | const li = e.target.parentElement; 46 | li.remove(); 47 | } 48 | 49 | }); 50 | 51 | 52 | -------------------------------------------------------------------------------- /18-Leaderboard/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Leaderboard 8 | 9 | 10 | 11 | 12 |

Leaderboard

13 |
14 | 15 | 16 | 17 | 18 | 19 |
20 |
21 | 22 |
23 | 24 |
25 | 26 | 27 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /16-drum/styles.css: -------------------------------------------------------------------------------- 1 | body { 2 | text-align: center; 3 | background-color: #283149; 4 | } 5 | 6 | h1 { 7 | font-size: 5rem; 8 | color: #DBEDF3; 9 | font-family: "Arvo", cursive; 10 | text-shadow: 3px 0 #DA0463; 11 | 12 | } 13 | 14 | footer { 15 | color: #DBEDF3; 16 | font-family: sans-serif; 17 | } 18 | 19 | .w { 20 | background-image: url("images/tom1.png"); 21 | } 22 | 23 | .a { 24 | background-image: url("images/tom2.png"); 25 | } 26 | 27 | .s { 28 | background-image: url("images/tom3.png"); 29 | } 30 | 31 | .d { 32 | background-image: url("images/tom4.png"); 33 | } 34 | 35 | .j { 36 | background-image: url("images/snare.png"); 37 | } 38 | 39 | .k { 40 | background-image: url("images/crash.png"); 41 | } 42 | 43 | .l { 44 | background-image: url("images/kick.png"); 45 | } 46 | 47 | .set { 48 | margin: 10% auto; 49 | } 50 | 51 | .game-over { 52 | background-color: red; 53 | opacity: 0.8; 54 | } 55 | 56 | .pressed { 57 | box-shadow: 0 3px 4px 0 #DBEDF3; 58 | opacity: 0.5; 59 | } 60 | 61 | .red { 62 | color: red; 63 | } 64 | 65 | .drum { 66 | outline: none; 67 | border: 10px solid #404B69; 68 | font-size: 5rem; 69 | font-family: 'Arvo', cursive; 70 | line-height: 2; 71 | font-weight: 900; 72 | color: #DA0463; 73 | text-shadow: 3px 0 #DBEDF3; 74 | border-radius: 15px; 75 | display: inline-block; 76 | width: 150px; 77 | height: 150px; 78 | text-align: center; 79 | margin: 10px; 80 | background-color: white; 81 | } 82 | -------------------------------------------------------------------------------- /9- Civo clone/image/civo-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /24-BallFall-game/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | padding: 0; 3 | margin: 0; 4 | } 5 | body { 6 | background-image: linear-gradient( 7 | to right, 8 | #d2430f 19%, 9 | #37623f 42%, 10 | #00d4ff 100% 11 | ); 12 | } 13 | 14 | #game { 15 | width: 400px; 16 | height: 500px; 17 | border: 1px solid black; 18 | margin: auto; 19 | overflow: hidden; 20 | background-image: url("https://user-images.githubusercontent.com/96621669/196149655-a757140e-1e59-4f45-b706-50831fe917d0.png"); 21 | background-repeat: no-repeat; 22 | } 23 | #block { 24 | width: 20px; 25 | height: 500px; 26 | background-color: black; 27 | background-image: url("https://user-images.githubusercontent.com/96621669/196149875-0ab24aca-951e-414b-b2ea-4b5e1b7b9cf6.jpg"); 28 | position: relative; 29 | left: 400px; 30 | animation: block 5s infinite linear; 31 | } 32 | @keyframes block { 33 | 0% { 34 | left: 400px; 35 | } 36 | 100% { 37 | left: -50px; 38 | } 39 | } 40 | #hole { 41 | width: 20px; 42 | height: 130px; 43 | background-color: rgb(100, 88, 73); 44 | background-position: inherit; 45 | position: relative; 46 | left: 400px; 47 | top: -500px; 48 | animation: block 5s infinite linear; 49 | } 50 | 51 | #charac { 52 | width: 20px; 53 | height: 20px; 54 | background-color: crimson; 55 | background-image: url("https://user-images.githubusercontent.com/96621669/196149787-35c398ab-15b1-4c09-8d4d-af1cc7164aa5.jpg"); 56 | position: absolute; 57 | top: 100px; 58 | border-radius: 100%; 59 | 60 | animation: 20s; 61 | } 62 | -------------------------------------------------------------------------------- /9- Civo clone/image/verizon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /9- Civo clone/image/cloudcoin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /9- Civo clone/image/netapp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Card/Card.css: -------------------------------------------------------------------------------- 1 | .card { 2 | height: 291px; 3 | width: 318px; 4 | border-radius: 20px; 5 | border: 1px solid #e5e5e5; 6 | margin: 40px; 7 | margin-top: 20px; 8 | } 9 | .card_img { 10 | width: 318px; 11 | height: 35%; 12 | } 13 | .card_img img { 14 | width: 100%; 15 | height: 100%; 16 | object-fit: cover; 17 | border-radius: 20px 20px 0 0; 18 | } 19 | .card_content { 20 | display: flex; 21 | flex-direction: column; 22 | width: 250px; 23 | justify-content: left; 24 | margin-left: 9px; 25 | } 26 | .card_title { 27 | font-family: "Montserrat"; 28 | font-style: normal; 29 | font-weight: 500; 30 | font-size: 16px; 31 | color: #000000; 32 | margin-top: 16px; 33 | } 34 | .card_date { 35 | font-family: "Montserrat"; 36 | font-style: normal; 37 | font-weight: 500; 38 | font-size: 14px; 39 | line-height: 17px; 40 | color: #f16621; 41 | margin-top: 15px; 42 | } 43 | .card_venue_time { 44 | font-family: "Montserrat"; 45 | font-style: normal; 46 | font-weight: 400; 47 | font-size: 12px; 48 | color: #000000; 49 | margin-top: 4px; 50 | } 51 | 52 | .card_btn { 53 | all: unset; 54 | width: 90%; 55 | border: 1px solid #00c853; 56 | padding: 12px 5px; 57 | text-align: center; 58 | border-radius: 10px; 59 | margin-top: 18px; 60 | margin-left: 9px; 61 | font-family: Montserrat; 62 | font-size: 16px; 63 | font-weight: 500; 64 | color: #00c853; 65 | transition: all 0.3s ease-in; 66 | } 67 | .card_btn:hover{ 68 | background-color: #00c853; 69 | color: white; 70 | } 71 | -------------------------------------------------------------------------------- /14-Spanish-Translator/script.js: -------------------------------------------------------------------------------- 1 | import {API_KEY} from "./config.js"; 2 | 3 | var inputField = document.querySelector("#input-field"); 4 | var translateBtn = document.querySelector("#btn-translate"); 5 | var outputDiv = document.querySelector("#output"); 6 | 7 | var serverURL = "https://google-translate1.p.rapidapi.com/language/translate/v2"; 8 | 9 | function errorHandler(error) { 10 | console.log("error occured", error); 11 | alert("Something's wrong with the server! Please try again after some time."); 12 | } 13 | 14 | function clickHandler() { 15 | var inputText = inputField.value; // taking input 16 | 17 | const encodedParams = new URLSearchParams(); 18 | encodedParams.append("q", inputText); 19 | encodedParams.append("target", "es"); 20 | encodedParams.append("source", "en"); 21 | 22 | const options = { 23 | method: 'POST', 24 | headers: { 25 | 'content-type': 'application/x-www-form-urlencoded', 26 | 'Accept-Encoding': 'application/gzip', 27 | 'X-RapidAPI-Key': API_KEY, 28 | 'X-RapidAPI-Host': 'google-translate1.p.rapidapi.com' 29 | }, 30 | body: encodedParams 31 | }; 32 | 33 | // calling server for processing 34 | fetch(serverURL, options) 35 | .then(response => response.json()) 36 | .then(json => { 37 | var translatedText = json.data.translations[0].translatedText; 38 | outputDiv.innerText = translatedText; // output 39 | }) 40 | .catch(err => errorHandler(err)); 41 | } 42 | 43 | translateBtn.addEventListener("click", clickHandler); -------------------------------------------------------------------------------- /9- Civo clone/image/civo-footer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /24-BallFall-game/script.js: -------------------------------------------------------------------------------- 1 | var block = document.getElementById("block"); 2 | var hole = document.getElementById("hole"); 3 | var charac = document.getElementById("charac"); 4 | var jumping = 0; 5 | var counter = 0; 6 | 7 | hole.addEventListener('animationiteration', () => 8 | { 9 | var random = Math.random()*3; 10 | var top = (random*100)+150; 11 | hole.style.top = -(top) + "px"; 12 | counter++; 13 | }); 14 | 15 | setInterval(function() 16 | { 17 | var characTop= parseInt(window.getComputedStyle(charac).getPropertyValue("top")); 18 | if(jumping==0){ 19 | charac.style.top = (characTop+3)+"px"; 20 | } 21 | var blockleft = parseInt(window.getComputedStyle(block).getPropertyValue("left")); 22 | var holetop = parseInt(window.getComputedStyle(hole).getPropertyValue("top")); 23 | var cTop=-(500-characTop) 24 | if ((characTop>480)||((blockleft<20)&&(blockleft>-50)&&((cTopholetop+110)))) 25 | { 26 | alert("Game over. Your Score: " + counter); 27 | charac.style.top = 100+"px"; 28 | counter=0; 29 | } 30 | },30); 31 | 32 | function jump() { 33 | jumping = 1; 34 | let jumpCount = 0; 35 | var jumpInterval = setInterval(function () { 36 | var characTop = parseInt(window.getComputedStyle(charac).getPropertyValue("top")); 37 | 38 | if ((characTop > 6) && (counter < 15)) { 39 | charac.style.top = (characTop - 3) + "px"; 40 | } 41 | if (jumpCount > 20) { 42 | clearInterval(jumpInterval); 43 | jumping = 0; 44 | jumpCount = 0; 45 | } 46 | jumpCount++; 47 | 48 | }, 20); 49 | } -------------------------------------------------------------------------------- /12-All About Forms/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | width: 100%; 3 | margin: 0px; 4 | padding: 0px; 5 | font-family: sans-serif; 6 | } 7 | 8 | .container { 9 | width: 350px; 10 | display: block; 11 | margin: 20px auto; 12 | padding: 10px; 13 | border-radius: 12px; 14 | background-color: aquamarine; 15 | box-shadow: 4px 4px 200px aqua inset; 16 | } 17 | 18 | fieldset { 19 | display: block; 20 | margin: auto; 21 | border: none; 22 | } 23 | 24 | .inp { 25 | background: transparent; 26 | border: none; 27 | border-bottom: 2px solid rgb(0, 0, 0); 28 | display: block; 29 | margin-bottom: 40px; 30 | width: 310px; 31 | font-size: large; 32 | } 33 | 34 | input:focus, 35 | textarea:focus, 36 | select:focus { 37 | outline: none 38 | } 39 | 40 | div button { 41 | background: transparent; 42 | font-size: medium; 43 | display: block; 44 | margin: 25px auto; 45 | width: 270px; 46 | border: 2ps solid black; 47 | border-radius: 4px; 48 | padding: 6px; 49 | color: rgb(0, 0, 0); 50 | } 51 | 52 | button:hover { 53 | cursor: pointer; 54 | color: white; 55 | background-color: rgb(0, 0, 0); 56 | } 57 | 58 | h3 { 59 | text-align: center; 60 | } 61 | 62 | .inpCol { 63 | color: rgb(0, 0, 0); 64 | } 65 | 66 | input[type="file"] { 67 | border: none; 68 | cursor: pointer; 69 | margin-top: 7px; 70 | } 71 | 72 | .txtarea { 73 | color: rgb(0, 0, 0); 74 | background: transparent; 75 | box-sizing: border-box; 76 | border: 2px solid rgb(0, 0, 0); 77 | border-radius: 10px; 78 | } -------------------------------------------------------------------------------- /3-All About Forms/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | width: 100%; 3 | margin: 0px; 4 | padding: 0px; 5 | font-family: sans-serif; 6 | } 7 | 8 | .container { 9 | width: 350px; 10 | display: block; 11 | margin: 20px auto; 12 | padding: 10px; 13 | border-radius: 12px; 14 | background-color: aquamarine; 15 | box-shadow: 4px 4px 200px aqua inset; 16 | } 17 | 18 | fieldset { 19 | display: block; 20 | margin: auto; 21 | border: none; 22 | } 23 | 24 | .inp { 25 | background: transparent; 26 | border: none; 27 | border-bottom: 2px solid rgb(0, 0, 0); 28 | display: block; 29 | margin-bottom: 40px; 30 | width: 310px; 31 | font-size: large; 32 | } 33 | 34 | input:focus, 35 | textarea:focus, 36 | select:focus { 37 | outline: none 38 | } 39 | 40 | div button { 41 | background: transparent; 42 | font-size: medium; 43 | display: block; 44 | margin: 25px auto; 45 | width: 270px; 46 | border: 2ps solid black; 47 | border-radius: 4px; 48 | padding: 6px; 49 | color: rgb(0, 0, 0); 50 | } 51 | 52 | button:hover { 53 | cursor: pointer; 54 | color: white; 55 | background-color: rgb(0, 0, 0); 56 | } 57 | 58 | h3 { 59 | text-align: center; 60 | } 61 | 62 | .inpCol { 63 | color: rgb(0, 0, 0); 64 | } 65 | 66 | input[type="file"] { 67 | border: none; 68 | cursor: pointer; 69 | margin-top: 7px; 70 | } 71 | 72 | .txtarea { 73 | color: rgb(0, 0, 0); 74 | background: transparent; 75 | box-sizing: border-box; 76 | border: 2px solid rgb(0, 0, 0); 77 | border-radius: 10px; 78 | } -------------------------------------------------------------------------------- /8-Rock-Paper-Scissor/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body{ 8 | display: grid; 9 | place-content: center; 10 | min-height: 100vh; 11 | font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; 12 | background-color: teal; 13 | color: whitesmoke; 14 | } 15 | 16 | /* .main{ 17 | border: 2px solid; 18 | } */ 19 | 20 | .flexbox{ 21 | display: flex; 22 | align-items: center; 23 | justify-content: space-between; 24 | } 25 | 26 | .options{ 27 | font-size: 5rem; 28 | margin: -9rem 0 0; 29 | 30 | } 31 | .options > *{ 32 | margin: 1em; 33 | transition: transform 0.3s; 34 | } 35 | 36 | .options >*:hover{ 37 | cursor: pointer; 38 | transform:scale(1.2); 39 | } 40 | 41 | .scores{ 42 | justify-content: center; 43 | } 44 | 45 | .scores > *{ 46 | font-size: 2rem; 47 | text-transform: capitalize; 48 | margin: 0 2em; 49 | } 50 | 51 | .current-results{ 52 | font-size: 3rem; 53 | margin-top: 1em; 54 | } 55 | 56 | .option{ 57 | filter: drop-shadow( 1px 1px 5px rgba(0, 0, 0, 0.5)); 58 | } 59 | 60 | .score{ 61 | font-weight: bold; 62 | } 63 | 64 | .restart{ 65 | display: block; 66 | margin: 2em auto 0; 67 | padding: .5em 1em; 68 | font-size: 1.5rem; 69 | border: none; 70 | border-radius: 5px; 71 | box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); 72 | background-color: rgb(222, 25, 25); 73 | color: whitesmoke; 74 | transition: transform 0.3s; 75 | } 76 | 77 | .restart:hover{ 78 | cursor: pointer; 79 | transform: scale(1.2); 80 | } 81 | 82 | -------------------------------------------------------------------------------- /9- Civo clone/image/civo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /21 - Tic-Tac-Toe/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Fasthand&display=swap'); 2 | 3 | *{ 4 | margin: 0; 5 | padding: 0; 6 | } 7 | 8 | nav{ 9 | background-color: aliceblue; 10 | color: brown; 11 | height: 60px; 12 | font-size: 25px; 13 | display: flex; 14 | align-items: center; 15 | padding: 0 10px; 16 | font-family: 'Montserrat', sans-serif; 17 | } 18 | 19 | nav ul{ 20 | list-style-type: none; 21 | } 22 | 23 | .gameContainer{ 24 | display: flex; 25 | justify-content: center; 26 | margin-top: 40px; 27 | } 28 | 29 | .container{ 30 | display: grid; 31 | grid-template-columns: repeat(3, 10vw); 32 | grid-template-rows: repeat(3, 10vw); 33 | font-family: 'Montserrat', sans-serif; 34 | } 35 | 36 | .box{ 37 | border: 2px solid beige; 38 | font-size: 3vw; 39 | cursor: pointer; 40 | display: flex; 41 | justify-content: center; 42 | align-items: center; 43 | } 44 | 45 | .box:hover{ 46 | background-color: blanchedalmond; 47 | } 48 | 49 | .info{ 50 | font-size: 20px; 51 | } 52 | 53 | .gameInfo{ 54 | padding: 0 30px; 55 | font-family: 'Fasthand', cursive; 56 | } 57 | 58 | .gameInfo h1{ 59 | font-size: 2rem; 60 | } 61 | 62 | .bt-0{ 63 | border-top: 0; 64 | } 65 | 66 | .bb-0{ 67 | border-bottom: 0; 68 | } 69 | 70 | .bl-0{ 71 | border-left: 0; 72 | } 73 | 74 | .br-0{ 75 | border-right: 0; 76 | } 77 | 78 | #reset{ 79 | margin: 0 20px; 80 | padding: 2px 10px; 81 | background: burlywood; 82 | border-radius: 5px; 83 | cursor: pointer; 84 | font-family: 'Fasthand'; 85 | font-size: 20px; 86 | font-weight: bolder; 87 | } -------------------------------------------------------------------------------- /21 - Digital Clock/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: sans-serif; 4 | display: flex; 5 | flex-direction: column; 6 | /*When direction=row, then align-items=column*/ 7 | align-items: center; 8 | height: 100vh; 9 | justify-content: center; 10 | background: url(https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1574&q=80); 11 | background-size: cover; 12 | background-position: center; /* helpful while resizing */ 13 | } 14 | 15 | h2 { 16 | text-transform: uppercase; 17 | letter-spacing: 4px; 18 | font-size: 24px; 19 | text-align: center; /* No use */ 20 | width: 100%; 21 | height: 40px; 22 | display: flex; 23 | align-items: center; 24 | justify-content: center; 25 | color: white; 26 | } 27 | 28 | .clock { 29 | display: flex; /*all div set to row*/ 30 | } 31 | 32 | .clock div { 33 | margin: 5px; 34 | position: relative; 35 | } 36 | 37 | .clock span { 38 | height: 160px; 39 | width: 160px; 40 | background-color: slateblue; 41 | color: white; 42 | opacity: 0.8; 43 | display: flex; 44 | align-items: center; 45 | justify-content: center; 46 | font-size: 80px; 47 | text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); 48 | /*horizontal shadow vertical blur-radius color*/ 49 | } 50 | 51 | .clock .text { 52 | font-size: 14px; 53 | height: 40px; 54 | text-transform: uppercase; 55 | letter-spacing: 2px; 56 | background-color: darkblue; 57 | opacity: 0.8; 58 | } 59 | 60 | .clock #ampm { 61 | bottom: 0px; 62 | position: absolute; 63 | height: 40px; 64 | width: 60px; 65 | font-size: 22px; 66 | background-color: green; 67 | } -------------------------------------------------------------------------------- /7-Google-Clone/script.js: -------------------------------------------------------------------------------- 1 | const toggleSwitch = document.querySelector( 2 | '.theme-slider input[type="checkbox"]' 3 | ); 4 | 5 | /* Function to change theme */ 6 | function switchTheme(e) { 7 | /* Once checkbox is checked default theme change to dark */ 8 | if (e.target.checked) { 9 | document.documentElement.setAttribute("theme", "dark"); 10 | } else { 11 | document.documentElement.setAttribute("theme", "light"); 12 | } 13 | } 14 | 15 | toggleSwitch.addEventListener("change", switchTheme, false); 16 | // search functionality 17 | const searchinput = document.querySelector("#search"); 18 | searchinput.addEventListener("keydown", function (event) { 19 | if (event.code === "Enter") { 20 | search(); 21 | } 22 | }); 23 | function search() { 24 | const input = searchinput.value; 25 | window.location.href = 26 | "https://www.google.com/search?q=" + 27 | input + 28 | "&rlz=1C1CHBF_enIN975IN975&sxsrf=APq-WBuPUDI24jMuajfP-CdaqEqSrQXHxA%3A1648229823177&ei=v_09Yuu8CpGxmAWe26DQCA&oq=motiv&gs_lcp=Cgdnd3Mtd2l6EAEYATIICAAQsQMQkQIyCAgAEIAEELEDMggIABCABBCxAzIFCAAQgAQyCAgAEIAEELEDMggIABCABBCxAzIICAAQgAQQsQMyCAgAEIAEELEDMggIABCABBCxAzIHCC4QsQMQCjoHCAAQRxCwAzoHCAAQsAMQQzoKCAAQ5AIQsAMYAToSCC4QxwEQ0QMQyAMQsAMQQxgCOg8ILhDUAhDIAxCwAxBDGAI6BAgjECc6CwguEIAEEMcBENEDOgsIABCABBCxAxCDAToLCC4QgAQQxwEQrwE6BAgAEEM6CAguEIAEELEDOgQILhBDOhEILhCABBCxAxCDARDHARDRAzoHCCMQ6gIQJzoOCC4QgAQQxwEQowIQ1AI6CggAELEDEIMBEEM6DgguEIAEELEDEMcBENEDOg4ILhDHARDRAxDUAhCRAjoICC4Q1AIQkQI6BQgAEJECOgsILhCABBCxAxCDAToOCC4QsQMQxwEQowIQkQI6CwguEIAEELEDENQCOhEILhCABBCxAxCDARDHARCjAjoLCC4QsQMQ1AIQkQJKBAhBGABKBAhGGAFQwwVYwkJg7mFoAnABeAKAAf0CiAGVF5IBBTItOS4ymAEAoAEBsAEKyAETwAEB2gEGCAEQARgJ2gEGCAIQARgI&sclient=gws-wiz"; 29 | } 30 | -------------------------------------------------------------------------------- /21-JokeMe/script.js: -------------------------------------------------------------------------------- 1 | const getAllCat = async () => { 2 | let res = await fetch("https://api.chucknorris.io/jokes/categories"); 3 | let cat = await res.json(); 4 | let html = ""; 5 | for (let i = 0; i < cat.length; i++) { 6 | html += ` `; 7 | } 8 | document.getElementById("cat").innerHTML = html; 9 | }; 10 | getAllCat(); 11 | const getJoke = async (e) => { 12 | // e.preventDefault(); 13 | document.getElementById("res").innerHTML = ` 14 |
15 |
16 | Loading... 17 |
18 |
19 | `; 20 | let name = document.getElementById("name").value; 21 | let cat = document.getElementById("cat").value; 22 | if (name === "" || cat === "Select Category") { 23 | document.getElementById("res").innerHTML = ` 24 | 28 | `; 29 | return; 30 | } 31 | console.log(name + " " + cat); 32 | let res = await fetch( 33 | "https://api.chucknorris.io/jokes/random?name=" + name + "&category=" + cat 34 | ); 35 | let data = await res.json(); 36 | let html = ` 37 |
38 |

Joke

39 |

${data.value}

40 |
41 | `; 42 | document.getElementById("res").innerHTML = html; 43 | }; 44 | -------------------------------------------------------------------------------- /16-drum/index.js: -------------------------------------------------------------------------------- 1 | 2 | var numberofDrumButtons = document.querySelectorAll(".drum").length; 3 | for (var i = 0; i < numberofDrumButtons; i++) { 4 | document.querySelectorAll(".drum")[i].addEventListener("click", function () { 5 | var buttonInnerHTML = this.innerHTML; 6 | makeSound(buttonInnerHTML); 7 | buttonAnimation(buttonInnerHTML); 8 | }); 9 | } 10 | document.addEventListener("keypress", function (event) { 11 | makeSound(event.key); 12 | buttonAnimation(event.key); 13 | }); 14 | function makeSound(key) { 15 | switch (key) { 16 | case "w": 17 | var tom1 = new Audio("sounds/tom-1.mp3"); 18 | tom1.play(); 19 | break; 20 | case "a": 21 | var tom2 = new Audio("sounds/tom-2.mp3"); 22 | tom2.play(); 23 | break; 24 | case "s": 25 | var tom3 = new Audio("sounds/tom-3.mp3"); 26 | tom3.play(); 27 | break; 28 | case "d": 29 | var tom4 = new Audio("sounds/tom-4.mp3"); 30 | tom4.play(); 31 | break; 32 | case "j": 33 | var snare = new Audio("sounds/snare.mp3"); 34 | snare.play(); 35 | break; 36 | case "k": 37 | var crash = new Audio("sounds/crash.mp3"); 38 | crash.play(); 39 | break; 40 | case "l": 41 | var kick = new Audio("sounds/kick-bass.mp3"); 42 | kick.play(); 43 | break; 44 | default: 45 | break; 46 | } 47 | } 48 | function buttonAnimation(currentkey) { 49 | var activeButton = document.querySelector("." + currentkey) 50 | activeButton.classList.add("pressed"); 51 | setTimeout (function(){ 52 | activeButton.classList.remove("pressed"); 53 | }, 100); 54 | } -------------------------------------------------------------------------------- /27-Typing-Test/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | Speed Typer 15 | 16 | 17 | 20 | 21 |
22 |
23 |
24 | 25 | 30 |
31 |
32 |
33 | 34 |
35 |

👩‍💻 Speed Typer 👨‍💻

36 | Type the following: 37 | 38 |

39 | 40 | 47 | 48 |

Time left: 10s

49 | 50 |

Score: 0

51 | 52 |
53 |
54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /13-Stopwatch/index.js: -------------------------------------------------------------------------------- 1 | var sw = { 2 | 3 | etime : null, 4 | erst : null, 5 | ego : null, 6 | init : function () { 7 | 8 | sw.etime = document.getElementById("sw-time"); 9 | sw.erst = document.getElementById("sw-rst"); 10 | sw.ego = document.getElementById("sw-go"); 11 | 12 | 13 | sw.erst.addEventListener("click", sw.reset); 14 | sw.erst.disabled = false; 15 | sw.ego.addEventListener("click", sw.start); 16 | sw.ego.disabled = false; 17 | }, 18 | 19 | 20 | timer : null, // timer object 21 | now : 0, // current elapsed time 22 | tick : function () { 23 | 24 | sw.now++; 25 | var remain = sw.now; 26 | var hours = Math.floor(remain / 3600); 27 | remain -= hours * 3600; 28 | var mins = Math.floor(remain / 60); 29 | remain -= mins * 60; 30 | var secs = remain; 31 | 32 | 33 | if (hours<10) { hours = "0" + hours; } 34 | if (mins<10) { mins = "0" + mins; } 35 | if (secs<10) { secs = "0" + secs; } 36 | sw.etime.innerHTML = hours + ":" + mins + ":" + secs; 37 | }, 38 | 39 | 40 | start : function () { 41 | sw.timer = setInterval(sw.tick, 1000); 42 | sw.ego.value = "Stop"; 43 | sw.ego.removeEventListener("click", sw.start); 44 | sw.ego.addEventListener("click", sw.stop); 45 | }, 46 | 47 | 48 | stop : function () { 49 | clearInterval(sw.timer); 50 | sw.timer = null; 51 | sw.ego.value = "Start"; 52 | sw.ego.removeEventListener("click", sw.stop); 53 | sw.ego.addEventListener("click", sw.start); 54 | }, 55 | 56 | 57 | reset : function () { 58 | if (sw.timer != null) { sw.stop(); } 59 | sw.now = -1; 60 | sw.tick(); 61 | } 62 | }; 63 | window.addEventListener("load", sw.init); -------------------------------------------------------------------------------- /5-Todo-App/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body{ 8 | padding: 2em; 9 | min-height: 100vh; 10 | font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; 11 | background-image: url(./sky2.jpg); 12 | background-blend-mode:soft-light; 13 | background-repeat: no-repeat; 14 | background-size: cover; 15 | } 16 | 17 | .main{ 18 | max-width: 600px; 19 | margin: auto; 20 | text-align: center; 21 | } 22 | 23 | input[type="text"]{ 24 | border: 1px solid grey; 25 | padding: .5em 1em; 26 | border-radius: 50px; 27 | font-size: 1.3rem; 28 | } 29 | 30 | button.add{ 31 | border: none; 32 | padding: 5px 13px; 33 | font-size: 1.7rem; 34 | margin-left: 1em; 35 | box-shadow: 2px 2px 7px rgba(181, 175, 175, 0.8); 36 | border-radius: 50%; 37 | transition: transform 0.2s; 38 | } 39 | 40 | .add:hover{ 41 | transform: scale(1.1); 42 | cursor: pointer; 43 | } 44 | 45 | ul.todo-list{ 46 | list-style-type: none; 47 | text-align: left; 48 | margin-top: 2em; 49 | } 50 | 51 | ul > li{ 52 | display: flex; 53 | align-items: center; 54 | padding: .5em 1em; 55 | font-size: 1.5rem; 56 | margin-bottom: 1em; 57 | background-color: rgb(222, 244, 248); 58 | border-radius: 7px; 59 | } 60 | 61 | .todo-list > *:hover{ 62 | background-color: rgb(203, 224, 231); 63 | } 64 | 65 | input[type="checkbox"]{ 66 | width: 1rem; 67 | height: 1rem; 68 | margin-right: 1em; 69 | } 70 | 71 | input[type="checkbox"]:hover{ 72 | cursor: pointer; 73 | 74 | } 75 | 76 | .delete{ 77 | margin-left: auto; 78 | transition: transform 0.2s; 79 | } 80 | 81 | .delete:hover{ 82 | cursor: pointer; 83 | transform: scale(1.2); 84 | } -------------------------------------------------------------------------------- /26-QR-Code-Generator/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | margin: 0; 3 | padding: 0; 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | display: flex; 9 | justify-content: center; 10 | align-items: center; 11 | height: 100vh; 12 | background-color: #e5e5e5; 13 | } 14 | .main { 15 | background-color: #fff; 16 | height: 260px; 17 | width: 410px; 18 | padding: 16px 25px; 19 | border-radius: 10px; 20 | transition: height 0.3s ease; 21 | box-shadow: 0px 16px 44px -8px #868686d6; 22 | } 23 | 24 | .main.active { 25 | height: 456px; 26 | } 27 | 28 | h1 { 29 | font-size: 14px; 30 | font-weight: 600; 31 | } 32 | p { 33 | color: #676363; 34 | margin-top: 7px; 35 | font-size: 16px; 36 | } 37 | 38 | .closing { 39 | display: flex; 40 | justify-content: space-between; 41 | align-items: center; 42 | } 43 | span { 44 | background: #495464; 45 | font-family: monospace; 46 | padding: 6px 11px; 47 | border-radius: 5px; 48 | color: white; 49 | font-weight: bold; 50 | cursor: pointer; 51 | } 52 | .inputField { 53 | margin: 20px 0 30px; 54 | } 55 | 56 | input, button { 57 | width: 100%; 58 | height: 55px; 59 | border: none; 60 | outline: none; 61 | } 62 | 63 | input { 64 | padding: 18px; 65 | border: 1px solid #dedede; 66 | } 67 | 68 | button { 69 | cursor: pointer; 70 | background-color: #2d3848; 71 | color: #fff; 72 | margin-top: 17px; 73 | } 74 | .qrCode { 75 | display: flex; 76 | justify-content: center; 77 | border: 1px solid #ccc; 78 | opacity: 0; 79 | pointer-events: none; 80 | padding: 1rem; 81 | } 82 | 83 | .main.main.active .qrCode { 84 | opacity: 1; 85 | transition: opacity 0.5s 0.5s ease; 86 | pointer-events: auto; 87 | } -------------------------------------------------------------------------------- /28-Events-Page/src/Components/Sidebar/Sidebar.jsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import { NavLink, useLocation } from "react-router-dom"; 3 | import eventsData from "../Assets/Data/eventsData"; 4 | import "./Sidebar.css"; 5 | 6 | const Sidebar = ({ 7 | countryList = [], 8 | filterEvents, 9 | sortedData, 10 | setSortedData, 11 | }) => { 12 | const location = useLocation(); 13 | const [active, setActive] = useState(false); 14 | return ( 15 |
16 |
    17 | { 23 | setActive(false); 24 | setSortedData(eventsData); 25 | }} 26 | > 27 | All {`(${eventsData.length})`} 28 | 29 | {countryList.map((country, i) => { 30 | return ( 31 | { 39 | setActive(true); 40 | filterEvents(country); 41 | }} 42 | > 43 | {country === sortedData[0].country ? ( 44 | <> 45 | {`${country} `} 46 | {active ? `(${sortedData.length})` : ""} 47 | 48 | ) : ( 49 | country 50 | )} 51 | 52 | ); 53 | })} 54 |
55 |
56 | ); 57 | }; 58 | 59 | export default Sidebar; 60 | -------------------------------------------------------------------------------- /9- Civo clone/image/meter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /19-Weather-App/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200&display=swap'); 2 | 3 | *{ 4 | padding: 0px; 5 | margin: 0px; 6 | box-sizing: border-box; 7 | overflow: hidden; 8 | } 9 | body{ 10 | height: 100vh; 11 | width: 100%; 12 | font-family: 'Poppins', sans-serif; 13 | background: linear-gradient(rgb(55, 37, 71),rgb(0, 0, 116),rgb(4, 54, 121),rgb(5, 60, 35),black); 14 | color: white; 15 | 16 | } 17 | .container{ 18 | top: 50%; 19 | left: 50%; 20 | transform: translate(-50%,-50%); 21 | position: absolute; 22 | width: 500px; 23 | height: 550px; 24 | border-radius: 10px; 25 | background: rgb(0,0,0,0.1); 26 | text-align: center; 27 | padding: 20px; 28 | } 29 | h1{ 30 | margin: 10px; 31 | font-size: 600; 32 | font-size: 40px; 33 | } 34 | input{ 35 | padding: 15px; 36 | border-radius: 10px; 37 | border: none; 38 | outline: none; 39 | margin-top: 30px; 40 | font-size: 15px; 41 | font-weight: 600; 42 | } 43 | button{ 44 | padding: 17px; 45 | border-radius: 50%; 46 | background: white; 47 | border: none; 48 | outline: none; 49 | font-weight: 600; 50 | font-size: 15px; 51 | margin-top: 30px; 52 | } 53 | #city{ 54 | margin-top: 30px; 55 | font-size: 30px; 56 | font-weight: 600; 57 | } 58 | #temp{ 59 | font-size: 50px; 60 | margin-top: 30px; 61 | font-weight: 900; 62 | } 63 | .temps{ 64 | display: flex; 65 | text-align: center; 66 | justify-content: center; 67 | margin: 20px 10px; 68 | } 69 | .temps p{ 70 | flex-basis: 50%; 71 | } 72 | #min{ 73 | margin-right: 60px; 74 | font-size: 25px; 75 | font-weight: 500; 76 | } 77 | #max{ 78 | margin-left: 60px; 79 | font-size: 25px; 80 | font-weight: 500; 81 | } 82 | #humidity{ 83 | font-size: 25px; 84 | font-weight: 600; 85 | } 86 | #humid{ 87 | font-size: 30px; 88 | font-weight: 700; 89 | } -------------------------------------------------------------------------------- /13-Stopwatch/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #51317c; 3 | color: #f6f5f8; 4 | } 5 | #stopwatch { 6 | display: flex; 7 | flex-wrap: wrap; 8 | max-width: 320px; 9 | margin: 0 auto; 10 | padding: 20px 100px 60px 10px; 11 | 12 | 13 | } 14 | .circle { 15 | display: flex; 16 | justify-content: center; 17 | align-items: center; 18 | 19 | height: 270px; 20 | width: 270px; 21 | 22 | border: 2px solid; 23 | border-radius: 50%; 24 | 25 | margin-left: 70px; 26 | 27 | } 28 | 29 | .time { 30 | font-family: "Roboto Mono", monospace; 31 | font-weight: 200; 32 | font-size: 32px; 33 | } 34 | h1 { 35 | font-size: 40px; 36 | font-family: "Montserrat", sans-serif; 37 | font-weight: 150; 38 | 39 | text-align: center; 40 | line-height: 39px; 41 | 42 | padding: 50px; 43 | margin: 10px; 44 | } 45 | 46 | #sw-time { 47 | width: 80%; 48 | padding: 20px 0; 49 | font-size: 40px; 50 | font-weight: bold; 51 | text-align: center; 52 | /* background: #ffffff; */ 53 | color: rgb(42, 164, 201); 54 | 55 | font-family: "Roboto Mono", monospace; 56 | font-weight: 300; 57 | font-size: 42px; 58 | 59 | } 60 | 61 | .controls { 62 | display: flex; 63 | /* flex-wrap: nowrap; */ 64 | margin: 70px 70px 70px 70px; 65 | /* flex-direction: row; */ 66 | /* padding: 50px 600px 600px -2500px; */ 67 | justify-content: space-between; 68 | 69 | } 70 | 71 | #sw-rst, #sw-go { 72 | /* box-sizing: border-box; */ 73 | display: flex; 74 | justify-content: space-between; 75 | 76 | width: 130px; 77 | 78 | /* width: 100%; */ 79 | cursor: pointer; 80 | 81 | padding: 20px 20px 20px 20px; 82 | /* 83 | border: 0; 84 | color: rgb(19, 4, 4); 85 | font-size: 20px; */ 86 | } 87 | 88 | 89 | #sw-rst { background-color: #6295cf; } 90 | #sw-go { background-color: #d463df; } -------------------------------------------------------------------------------- /21 - Tic-Tac-Toe/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Tic Tac Toe 8 | 9 | 10 | 11 | 12 | 17 | 18 |
19 |
20 |
21 | 22 |
23 |
24 | 25 |
26 |
27 | 28 |
29 |
30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 |
38 |
39 | 40 |
41 |
42 | 43 |
44 |
45 | 46 |
47 |
48 |
49 |

Welcome to my Tic Tac Toe

50 |
51 | Turn for X 52 | 53 |
54 |
55 |
56 | 57 | 58 | -------------------------------------------------------------------------------- /21 - Tic-Tac-Toe/script.js: -------------------------------------------------------------------------------- 1 | console.log("Welcome to Tic Tac Toe") 2 | let audioturn = new Audio("click-21156.mp3") 3 | let gameover = new Audio("mixkit-arcade-retro-game-over-213.wav") 4 | let turn = "X" 5 | let isgameover = false; 6 | 7 | const changeTurn = ()=>{ 8 | return turn === "X"?"0": "X" 9 | } 10 | 11 | const checkWin = ()=>{ 12 | let boxtext = document.getElementsByClassName('boxtext'); 13 | let wins = [ 14 | [0, 1, 2], 15 | [3, 4, 5], 16 | [6, 7, 8], 17 | [0, 3, 6], 18 | [1, 4, 7], 19 | [2, 5, 8], 20 | [0, 4, 8], 21 | [2, 4, 6], 22 | ] 23 | wins.forEach(e =>{ 24 | if((boxtext[e[0]].innerText === boxtext[e[1]].innerText) && (boxtext[e[2]].innerText === boxtext[e[1]].innerText) && (boxtext[e[0]].innerText !== '')){ 25 | document.querySelector('.info').innerText = boxtext[e[0]].innerText + " Won" 26 | isgameover = true; 27 | gameover.play(); 28 | document.querySelector(".line").style.transform = "translate(20vw, 35vw) rotate(90deg" 29 | } 30 | }) 31 | } 32 | 33 | let boxes = document.getElementsByClassName("box"); 34 | Array.from(boxes).forEach(element =>{ 35 | let boxtext = element.querySelector('.boxtext'); 36 | element.addEventListener('click', ()=>{ 37 | if(boxtext.innerText === ''){ 38 | boxtext.innerText = turn; 39 | turn = changeTurn(); 40 | audioturn.play(); 41 | checkWin(); 42 | if(!isgameover){ 43 | document.getElementsByClassName("info")[0].innerText = "Turn for " + turn; 44 | } 45 | } 46 | }) 47 | }) 48 | 49 | reset.addEventListener('click', ()=>{ 50 | let boxtexts = document.querySelectorAll('.boxtext'); 51 | Array.from(boxtexts).forEach(element => { 52 | element.innerText = "" 53 | }); 54 | turn = "X"; 55 | isgameover = false 56 | document.getElementsByClassName("info")[0].innerText = "Turn for " + turn; 57 | }) -------------------------------------------------------------------------------- /4-Simply-Clock/style.css: -------------------------------------------------------------------------------- 1 | *{ 2 | padding: 0; 3 | margin: 0; 4 | box-sizing: border-box; 5 | font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; 6 | } 7 | 8 | body{ 9 | background: linear-gradient(50deg, rgb(82, 50, 243), rgb(130, 238, 216)); 10 | min-height: 100vh; 11 | display: flex; 12 | align-items: center; 13 | justify-content: center; 14 | } 15 | 16 | .clock{ 17 | width: 350px; 18 | height: 350px; 19 | background-color: rgba(255, 255, 255, 0.8); 20 | border-radius: 50%; 21 | box-shadow: 2px 2px 20px rgba(135, 134, 134, 0.8); 22 | position: relative; 23 | } 24 | 25 | .clock::after{ 26 | content: ''; 27 | position: absolute; 28 | width: 15px; 29 | height: 15px; 30 | background-color: black; 31 | top: 48.5%; 32 | left: 50%; 33 | transform: translate(-50%); 34 | z-index: 4; 35 | border-radius: 50%; 36 | } 37 | 38 | .number{ 39 | position: absolute; 40 | width: 100%; 41 | height: 100%; 42 | top: 0%; 43 | text-align: center; 44 | font-size: 1.5rem; 45 | } 46 | .number1{ transform: rotate(30deg); } 47 | .number2{ transform: rotate(60deg); } 48 | .number3{ transform: rotate(90deg); } 49 | .number4{ transform: rotate(120deg); } 50 | .number5{ transform: rotate(150deg); } 51 | .number6{ transform: rotate(180deg); } 52 | .number7{ transform: rotate(210deg); } 53 | .number8{ transform: rotate(240deg); } 54 | .number9{ transform: rotate(270deg); } 55 | .number10{ transform: rotate(300deg); } 56 | .number11{ transform: rotate(330deg); } 57 | 58 | 59 | .hand{ 60 | position: absolute; 61 | background-color: black; 62 | bottom: 50%; 63 | left: 50%; 64 | border-radius: 5px; 65 | transform: translate(-50%); 66 | transform-origin: bottom; 67 | z-index: 2; 68 | } 69 | 70 | .second{ 71 | width: 2px; 72 | height: 45%; 73 | background-color: red; 74 | z-index: 3; 75 | } 76 | 77 | .minute{ 78 | width: 5px; 79 | height: 40%; 80 | } 81 | 82 | .hour{ 83 | width: 7px; 84 | height: 30%; 85 | } -------------------------------------------------------------------------------- /17-GitHub-Profile/script.js: -------------------------------------------------------------------------------- 1 | const Url = 'https://api.github.com/users/'; 2 | 3 | const form = document.getElementById('form'); 4 | const search = document.getElementById('search'); 5 | const content = document.getElementById('content'); 6 | 7 | form.addEventListener('submit', (e) => { 8 | e.preventDefault(); 9 | const User = search.value; 10 | if (User) { 11 | getUser(User); 12 | search.value = ""; 13 | } 14 | }); 15 | 16 | async function getUser(username) { 17 | const User = await fetch(Url + username); 18 | const UserData = await User.json(); 19 | 20 | CreateCard(UserData); 21 | GetRepos(username); 22 | } 23 | 24 | async function GetRepos(user) { 25 | const repo = await fetch(Url + user + "/repos"); 26 | const repoData = await repo.json(); 27 | AddRepoToCard(repoData); 28 | } 29 | 30 | function CreateCard(user) { 31 | const Card = 32 | ` 33 |
34 |
35 | ${user.name} 36 |
37 | 38 |
39 |

${user.name}

40 | 41 |

${user.bio}

42 | 43 |
    44 |
  • ${user.followers} Followers
  • 45 |
  • ${user.following} Following
  • 46 |
  • ${user.public_repos} Repos
  • 47 |
48 | 49 |
50 |
51 |
52 | `; 53 | content.innerHTML = Card; 54 | } 55 | 56 | function AddRepoToCard(repos) { 57 | const reposEl = document.getElementById("repos"); 58 | 59 | repos 60 | .sort((a, b) => b.stargazers_count - a.stargazers_count) 61 | .slice(0, 10) 62 | .forEach((repo) => { 63 | const repoEl = document.createElement("a"); 64 | repoEl.classList.add("repo"); 65 | 66 | repoEl.href = repo.html_url; 67 | repoEl.target = "_blank"; 68 | repoEl.innerText = repo.name; 69 | 70 | reposEl.appendChild(repoEl); 71 | }); 72 | } 73 | 74 | 75 | -------------------------------------------------------------------------------- /17-GitHub-Profile/style.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;600&display=swap"); 2 | 3 | * { 4 | padding: 0; 5 | margin: 0; 6 | box-sizing: border-box; 7 | } 8 | 9 | body { 10 | font-family: "Poppins", sans-serif; 11 | background: rgb(0, 16, 85); 12 | background: linear-gradient(90deg, rgba(0, 16, 85, 1) 100%, rgba(15, 137, 137, 1) 100%, rgba(255, 0, 0, 1) 100%); 13 | display: flex; 14 | justify-content: center; 15 | align-items: center; 16 | flex-direction: column; 17 | min-width: 100vh; 18 | color: white; 19 | } 20 | 21 | #content { 22 | margin-top: 30px; 23 | } 24 | 25 | form { 26 | display: flex; 27 | align-items: center; 28 | justify-content: center; 29 | } 30 | 31 | input { 32 | padding: 15px 10px; 33 | margin-top: 120px; 34 | width: 250px; 35 | border-radius: 10px; 36 | font-size: 16px; 37 | outline: none; 38 | } 39 | 40 | #card { 41 | background: rgb(4, 119, 255); 42 | background: linear-gradient(90deg, rgba(4, 119, 255, 1) 100%, rgba(15, 137, 137, 1) 100%, rgba(255, 0, 0, 1) 100%); 43 | border-radius: 15px; 44 | max-width: 800px; 45 | display: flex; 46 | padding: 3rem; 47 | } 48 | 49 | .photo { 50 | border-radius: 50%; 51 | border: 10px solid rgb(20, 45, 156); 52 | height: 150px; 53 | width: 150px; 54 | } 55 | 56 | .info-div { 57 | margin-left: 20px; 58 | border-left: 1px solid white; 59 | padding-left: 15px; 60 | } 61 | 62 | .info-div ul { 63 | display: flex; 64 | justify-content: space-between; 65 | text-decoration: none; 66 | list-style: none; 67 | padding: 0; 68 | max-width: 400px; 69 | margin: 15px 0; 70 | } 71 | 72 | .info-div ul li { 73 | display: flex; 74 | align-items: center; 75 | } 76 | 77 | .info-div ul li strong { 78 | font-size: 0.9rem; 79 | margin-left: 0.5rem; 80 | } 81 | 82 | .repo { 83 | background-color: #2a2a72; 84 | border-radius: 5px; 85 | display: inline-block; 86 | color: white; 87 | font-size: 0.7rem; 88 | padding: 0.25rem 0.5rem; 89 | margin-right: 0.5rem; 90 | margin-bottom: 0.5rem; 91 | text-decoration: none; 92 | } -------------------------------------------------------------------------------- /28-Events-Page/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 18 | 19 | 23 | 24 | 33 | React App 34 | 35 | 36 | 37 |
38 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /14-Spanish-Translator/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Spanish Translator 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 |
19 | 20 |

Spanish Translation is just a click away!

21 |
22 | 23 |
English
24 | 25 | 26 | 27 |
28 | 29 |
30 | 31 |
Spanish
32 | 33 |
34 | 35 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Journey with Js | Hacktoberfest 3 | ![image](https://user-images.githubusercontent.com/99472914/192144059-5cd0b329-f238-474b-b475-7385eaa35d05.png) 4 | 5 | 6 | 7 | [![Open Source Love](https://firstcontributions.github.io/open-source-badges/badges/open-source-v1/open-source.svg)](https://github.com/sj5027052/Hacktoberfest2022) 8 | 9 | 10 | 11 |

You can make simple HTML, CSS and JavaScript projects to contribute here.

12 | 13 | 14 | Check out `good-first-issues` for contributing [here](https://github.com/epicdeepak/Journey-with-js/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). 15 | 16 | 17 | 18 | ## Connect with here ⬇️ Don't fogot to checkout [Way2Intern](https://twitter.com/Way2Intern) ! 19 | ### **Deepak Verma** 20 | * [Twitter](https://twitter.com/epicdeepak) 21 | * [GitHub](https://github.com/epicdeepak) 22 | * [Linkedin](https://www.linkedin.com/in/epicdeepak/) 23 | 24 | 25 | 26 | ### Contributing 27 | 28 | Please read [CONTRIBUTING.md](/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](/CODE_OF_CONDUCT.md) for details on our code of conduct, and the process for submitting pull requests to us. 29 | 30 | ### Rules 31 | 32 | * Read the [CONTRIBUTING.md](/CONTRIBUTING.md) file. 33 | * Respect people. 34 | * Be friendly, helpful, and patient. 35 | * You can contribute in any way. 36 | 37 | ### Support 38 | 39 | If you like this project, please consider supporting it by giving it a ⭐️. It will help us to grow and improve this project and help others to find it. 40 | 41 | ### Conclusion 42 | 43 | - Happy Contributing! 🎉 44 | - May you have a great Hacktoberfest 2022! 🎉 45 | - If you have any questions, feel free to ask me. I will be happy to help you. 😊 46 | 47 | ### References 48 | 49 | - [Hacktoberfest 2022](https://hacktoberfest.digitalocean.com) 50 | - [Hacktoberfest 2022 Participation Guidelines](https://hacktoberfest.com/participation) 51 | - This project and other projects listed above are a part of Hacktoberfest 2022 and are open to all members of the GitHub community. Any member may contribute to these projects without being a collaborator or a maintainer and earn a T-shirt from DigitalOcean and DEV by making four valid pull requests (PRs) between October 1-31 (in any time zone). 52 | - The first 40,000 participants (maintainers and contributors) who complete Hacktoberfest can elect to receive one of two prizes: a tree planted in their name, or the Hacktoberfest 2022 t-shirt. 53 | 54 | **Thanks goes to these wonderful people ✨** 55 | 56 | -------------------------------------------------------------------------------- /20-Photography-Page/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Roboto+Condensed:wght@300;400;700&display=swap'); 2 | 3 | *{ 4 | padding:0; 5 | margin:0; 6 | } 7 | main{ 8 | max-width: 1000px; 9 | margin: 2rem auto; 10 | box-shadow: 20px 0px 50px rgba(0, 0, 0, 0.1),-20px 0px 50px rgba(0, 0, 0, 0.1); 11 | font-family: Roboto Condensed,sans-serif; 12 | padding:.5rem; 13 | background: #ffdddd; 14 | } 15 | 16 | img{ 17 | display: inline-block; 18 | width: 100%; 19 | height: 100%; 20 | } 21 | a{ 22 | text-decoration: none; 23 | color: #333; 24 | } 25 | .split{ 26 | display: flex; 27 | } 28 | .content{ 29 | width: 50%; 30 | display: flex; 31 | align-items: center; 32 | justify-content: center; 33 | } 34 | .content h1{ 35 | font-weight: 400; 36 | } 37 | .content h3{ 38 | font-weight: 200; 39 | } 40 | .content .inner{ 41 | text-align: center; 42 | } 43 | .content a{ 44 | margin-top: .5rem; 45 | display: inline-block; 46 | border:2px solid #ccc; 47 | padding:0.6rem 1.5rem; 48 | border-radius: 50px; 49 | } 50 | .content a:hover{ 51 | background: rgb(233, 230, 230); 52 | } 53 | .image{ 54 | width: 50%; 55 | height: 80vh; 56 | background-image:url('https://source.unsplash.com/1600x900/?travel,human'); 57 | background-position: center; 58 | background-size: cover; 59 | 60 | } 61 | .nav{ 62 | padding:1.5rem; 63 | background: #181818; 64 | color:white; 65 | text-align: center; 66 | } 67 | .nav h2{ 68 | padding:.5rem; 69 | display: inline-block; 70 | border-left: 1px dotted white; 71 | border-right: 1px dotted white; 72 | 73 | } 74 | .context{ 75 | text-align: center; 76 | height: 5rem; 77 | } 78 | footer{ 79 | border-top: 1px solid #333; 80 | text-align: center; 81 | padding:1rem; 82 | } 83 | footer h1{ 84 | font-size: 3rem; 85 | } 86 | footer p{ 87 | font-size: 1.2rem; 88 | } 89 | @media (max-width:700px) { 90 | h1{ 91 | font-size: 2rem; 92 | } 93 | p{ 94 | font-size:.8rem; 95 | } 96 | main{ 97 | margin-top: 0; 98 | } 99 | .split 100 | { 101 | flex-direction: column; 102 | } 103 | .split .inner h1{ 104 | font-size: 1.5rem; 105 | } 106 | .split .inner h3{ 107 | font-size: 1rem; 108 | } 109 | .split .inner a{ 110 | padding:1rem; 111 | } 112 | .split>div{ 113 | width: 100%; 114 | height: 50vh; 115 | } 116 | 117 | } -------------------------------------------------------------------------------- /6-Random-caption-generator/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Random QUOTES 8 | 9 | 13 | 14 | 15 | 21 |
22 |

random quotes

23 |

Generator for Instagram

24 |
25 | 26 |
27 |
28 | 29 |
30 | 31 |
32 | 35 | 38 |
39 | 40 | 41 | 44 |
45 | 46 | 47 | 48 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /27-Typing-Test/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | box-sizing: border-box; 3 | } 4 | 5 | body { 6 | background-color: #2c3e50; 7 | display: flex; 8 | align-items: center; 9 | justify-content: center; 10 | min-height: 100vh; 11 | margin: 0; 12 | font-family: Verdana, Geneva, Tahoma, sans-serif; 13 | } 14 | 15 | button { 16 | cursor: pointer; 17 | font-size: 14px; 18 | border-radius: 4px; 19 | padding: 5px 15px; 20 | } 21 | 22 | select { 23 | width: 200px; 24 | padding: 5px; 25 | appearance: none; 26 | -webkit-appearance: none; 27 | -moz-appearance: none; 28 | border-radius: 0; 29 | background-color: #a7c5e3; 30 | } 31 | 32 | select:focus, 33 | button:focus { 34 | outline: 0; 35 | } 36 | 37 | .settings-btn { 38 | position: absolute; 39 | bottom: 30px; 40 | left: 30px; 41 | } 42 | 43 | .settings { 44 | position: absolute; 45 | top: 0; 46 | left: 0; 47 | width: 100%; 48 | background-color: rgba(0, 0, 0, 0.3); 49 | height: 70px; 50 | color: #fff; 51 | display: flex; 52 | align-items: center; 53 | justify-content: center; 54 | transform: translateY(0); 55 | transition: transform 0.3s ease-in-out; 56 | } 57 | 58 | .settings.hide { 59 | transform: translateY(-100%); 60 | } 61 | 62 | .container { 63 | background-color: #34495e; 64 | padding: 20px; 65 | border-radius: 4px; 66 | box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3); 67 | color: #fff; 68 | position: relative; 69 | text-align: center; 70 | width: 500px; 71 | } 72 | 73 | h2 { 74 | background-color: rgba(0, 0, 0, 0.3); 75 | padding: 8px; 76 | border-radius: 4px; 77 | margin: 0 0 40px; 78 | } 79 | 80 | h1 { 81 | margin: 0; 82 | } 83 | 84 | input { 85 | border: 0; 86 | border-radius: 4px; 87 | font-size: 14px; 88 | width: 300px; 89 | padding: 12px 20px; 90 | margin-top: 10px; 91 | } 92 | 93 | .score-container { 94 | position: absolute; 95 | top: 60px; 96 | right: 20px; 97 | } 98 | 99 | .time-container { 100 | position: absolute; 101 | top: 60px; 102 | left: 20px; 103 | } 104 | 105 | .end-game-container { 106 | background-color: inherit; 107 | display: none; 108 | align-items: center; 109 | justify-content: center; 110 | flex-direction: column; 111 | position: absolute; 112 | top: 0; 113 | left: 0; 114 | width: 100%; 115 | height: 100%; 116 | z-index: 1; 117 | } -------------------------------------------------------------------------------- /9- Civo clone/image/aws.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /20-Photography-Page/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Document 8 | 9 | 10 | 11 |
12 |
13 |
14 |
15 |

Acme Photography

16 |

Beautiful Nature Photography

17 | View Work 18 |
19 |
20 |
21 | 22 |
23 |
24 | 27 |
28 | 29 |
30 |

Photo One

31 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, iste!

32 |
33 |
34 |
35 | 36 |
37 |

Photo Two

38 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, iste!

39 |
40 |
41 |
42 | 43 |
44 |

Photo Three

45 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, iste!

46 |
47 |
48 |
49 | 50 |
51 |

Photo Four

52 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, iste!

53 |
54 |
55 |
56 | 57 |
58 |

Photo Five

59 |

Lorem ipsum dolor sit amet consectetur adipisicing elit. Velit, iste!

60 |
61 |
62 |
63 |

Get in Touch

64 |

Email or call us to set up a consult

65 |

Email: dan71ish@gmail.com

66 |

Phone: 6205089780

67 |
68 |
69 | 70 | -------------------------------------------------------------------------------- /9- Civo clone/image/defense.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /8-Rock-Paper-Scissor/script.js: -------------------------------------------------------------------------------- 1 | const game = [ 2 | { 3 | name: "rock", 4 | win : "scissors", 5 | lost: "paper", 6 | emoji: "👊" 7 | }, 8 | { 9 | name: "paper", 10 | win: "rock", 11 | lost: "scissors", 12 | emoji: "✋" 13 | }, 14 | { 15 | name: "scissors", 16 | win: "paper", 17 | lost: "rock", 18 | emoji: "✌" 19 | }, 20 | ] 21 | 22 | const place = { rock:0, paper:1, scissors:2 }; 23 | 24 | 25 | function getBotChoice(){ 26 | const randomNum = Math.floor( Math.random() * 3); 27 | const botChoice = game[randomNum].name; 28 | return botChoice; 29 | } 30 | 31 | function userResult(userChoice, botChoice){ 32 | if ( botChoice === game[ place[userChoice] ].win ) return "You Win!"; 33 | else if ( botChoice === game[ place[userChoice] ].lost ) return "You Lost!"; 34 | return "It's a Draw!"; 35 | } 36 | 37 | 38 | 39 | 40 | // start reading from here 41 | 42 | 43 | 44 | const options = document.querySelector(".options"); 45 | 46 | const userScore = document.querySelector(".user-score"); 47 | const botScore = document.querySelector(".bot-score"); 48 | 49 | const currentResults = document.querySelector(".current-results"); 50 | 51 | const userChoiceDom = currentResults.children[0]; 52 | const resultText = currentResults.children[1]; 53 | const botChoiceDom = currentResults.children[2]; 54 | 55 | options.addEventListener("click", (e) => { 56 | console.log(e.target); 57 | 58 | const userChoice = e.target.classList[0]; 59 | 60 | if(! (userChoice === "rock" || userChoice === "paper" || userChoice === "scissors") ) return; 61 | 62 | const botChoice = getBotChoice(); 63 | 64 | console.log(userChoice, botChoice); 65 | 66 | const result = userResult(userChoice, botChoice); 67 | console.log(result); 68 | 69 | if(result === "You Win!"){ 70 | userScore.textContent = +userScore.textContent + 1; 71 | } else if(result === "You Lost!"){ 72 | botScore.textContent = +botScore.textContent + 1; 73 | } 74 | 75 | 76 | userChoiceDom.textContent = game[ place[userChoice] ].emoji; 77 | botChoiceDom.textContent = game[ place[botChoice] ].emoji; 78 | resultText.textContent = result; 79 | 80 | }); 81 | 82 | const restart = document.querySelector(".restart"); 83 | 84 | restart.addEventListener("click", (e) => { 85 | userChoiceDom.textContent = "❓"; 86 | resultText.textContent = "result"; 87 | botChoiceDom.textContent = "❓"; 88 | 89 | if(+userScore.textContent === 0 && +botScore.textContent === 0) {alert("khel to lo!"); return}; 90 | 91 | let msg = +userScore.textContent > +botScore.textContent ? "win!" : +botScore.textContent > +userScore.textContent ? "lost!" : "draw!"; 92 | alert(msg); 93 | 94 | userScore.textContent = 0; 95 | botScore.textContent = 0; 96 | 97 | }) 98 | 99 | -------------------------------------------------------------------------------- /12-All About Forms/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | all about forms in html 9 | 10 | 11 | 12 | 13 |
14 |

Fill The Form

15 |
16 |
17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Select Your Gender: 27 | 28 | 29 |
30 |
31 | 32 | 33 | 34 | 35 | 44 | 45 | 46 | 49 | 50 |
51 |
52 |
53 | 54 | 55 | -------------------------------------------------------------------------------- /3-All About Forms/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | all about forms in html 9 | 10 | 11 | 12 | 13 |
14 |

Fill The Form

15 |
16 |
17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Select Your Gender: 27 | 28 | 29 |
30 |
31 | 32 | 33 | 34 | 35 | 44 | 45 | 46 | 49 | 50 |
51 |
52 |
53 | 54 | 55 | -------------------------------------------------------------------------------- /9- Civo clone/image/magic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /10 - Sunny summer/images/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /7-Google-Clone/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | New tab 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 36 |
37 | 38 | 45 |
46 | 47 | 48 |
49 | 61 |
62 | 80 |
81 | 82 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /11 - ShoppingCard/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Montserrat:wght@500;700&display=swap'); 2 | 3 | *{ 4 | padding:0; 5 | margin:0; 6 | box-sizing: border-box; 7 | font-family:'Montserrat',sans-serif; 8 | font-size: 14px; 9 | } 10 | body{ 11 | background: hsl(30, 38%, 92%); 12 | } 13 | .section{ 14 | width: 100%; 15 | height: 100vh; 16 | display: flex; 17 | justify-content: center; 18 | align-items: center; 19 | } 20 | img{ 21 | display: inline-block; 22 | width: 100%; 23 | } 24 | .split{ 25 | display: grid; 26 | grid-template-columns: 1fr 1fr; 27 | width: 45%; 28 | height: 65vh; 29 | color:grey; 30 | background: #f4f4f4; 31 | border-radius: 12px; 32 | box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.209); 33 | position: relative; 34 | } 35 | .image{ 36 | background-image:url('img/image-product-desktop.jpg'); 37 | background-position: center center; 38 | background-size: cover; 39 | border-radius:12px 0px 0px 12px; 40 | height: 100%; 41 | 42 | } 43 | .split > div{ 44 | width: 100%; 45 | 46 | } 47 | .content img{ 48 | width: 10%; 49 | } 50 | .content{ 51 | padding:2rem; 52 | } 53 | .title{ 54 | letter-spacing: .25rem; 55 | font-size: 1rem; 56 | } 57 | .content h3{ 58 | font-family: 'Fraunces',sans-serif; 59 | font-size: 3rem; 60 | line-height: 2.9rem; 61 | margin:2rem 0px; 62 | color: hsl(212, 21%, 14%); 63 | } 64 | .content p{ 65 | line-height: 1.8; 66 | } 67 | .content .price{ 68 | font-family:'Fraunces',sans-serif; 69 | font-size: 2.5rem; 70 | color:hsl(158, 36%, 37%); 71 | margin:1.5rem 0rem; 72 | font-weight: bold; 73 | padding:1rem 0rem; 74 | } 75 | .content .price span{ 76 | font-size: .8rem; 77 | margin-left:1.2rem; 78 | text-decoration: line-through; 79 | } 80 | .content a{ 81 | text-decoration: none; 82 | background: hsl(158, 46%, 23%); 83 | padding:1rem 5rem; 84 | color:#f4f4f4; 85 | font-weight: bold; 86 | border-radius: 5px; 87 | transition: 1s all; 88 | } 89 | .content a:hover{ 90 | background: hsl(158, 36%, 37%); 91 | } 92 | .content img{ 93 | width: 5%; 94 | } 95 | @media(max-width:375px){ 96 | *{ 97 | padding:0; 98 | margin:0; 99 | } 100 | body{ 101 | overflow-x: hidden; 102 | } 103 | .section{ 104 | height: 0vh; 105 | } 106 | img{ 107 | width: 100%; 108 | height: 100%; 109 | } 110 | .split{ 111 | display: grid; 112 | grid-template-columns:1fr; 113 | width: 100%; 114 | height: 40vh; 115 | padding:1rem; 116 | background: transparent; 117 | box-sizing: 0; 118 | } 119 | .image{ 120 | background-image:url('img/image-product-mobile.jpg'); 121 | background-position: center; 122 | background-size: contain; 123 | background-repeat: no-repeat; 124 | height: 60vh; 125 | border-radius: 0; 126 | margin: .2rem; 127 | } 128 | .content{ 129 | margin-top: -8rem; 130 | width: 100%; 131 | } 132 | .content img{ 133 | height: 5%; 134 | } 135 | .content h3{ 136 | font-size: 2rem; 137 | width: 90%; 138 | } 139 | } -------------------------------------------------------------------------------- /27-Typing-Test/script.js: -------------------------------------------------------------------------------- 1 | const word = document.getElementById('word'); 2 | const text = document.getElementById('text'); 3 | const scoreEl = document.getElementById('score'); 4 | const timeEl = document.getElementById('time'); 5 | const endgameEl = document.getElementById('end-game-container'); 6 | const settingsBtn = document.getElementById('settings-btn'); 7 | const settings = document.getElementById('settings'); 8 | const settingsForm = document.getElementById('settings-form'); 9 | const difficultySelect = document.getElementById('difficulty'); 10 | 11 | // List of words for game 12 | const words = [ 13 | 'sigh', 14 | 'tense', 15 | 'airplane', 16 | 'ball', 17 | 'pies', 18 | 'juice', 19 | 'warlike', 20 | 'bad', 21 | 'north', 22 | 'dependent', 23 | 'steer', 24 | 'silver', 25 | 'highfalutin', 26 | 'superficial', 27 | 'quince', 28 | 'eight', 29 | 'feeble', 30 | 'admit', 31 | 'drag', 32 | 'loving' 33 | ]; 34 | 35 | // Init word 36 | let randomWord; 37 | 38 | // Init score 39 | let score = 0; 40 | 41 | // Init time 42 | let time = 10; 43 | 44 | // Set difficulty to value in ls or medium 45 | let difficulty = 46 | localStorage.getItem('difficulty') !== null 47 | ? localStorage.getItem('difficulty') 48 | : 'medium'; 49 | 50 | // Set difficulty select value 51 | difficultySelect.value = 52 | localStorage.getItem('difficulty') !== null 53 | ? localStorage.getItem('difficulty') 54 | : 'medium'; 55 | 56 | // Focus on text on start 57 | text.focus(); 58 | 59 | // Start counting down 60 | const timeInterval = setInterval(updateTime, 1000); 61 | 62 | // Generate random word from array 63 | function getRandomWord() { 64 | return words[Math.floor(Math.random() * words.length)]; 65 | } 66 | 67 | // Add word to DOM 68 | function addWordToDOM() { 69 | randomWord = getRandomWord(); 70 | word.innerHTML = randomWord; 71 | } 72 | 73 | // Update score 74 | function updateScore() { 75 | score++; 76 | scoreEl.innerHTML = score; 77 | } 78 | 79 | // Update time 80 | function updateTime() { 81 | time--; 82 | timeEl.innerHTML = time + 's'; 83 | 84 | if (time === 0) { 85 | clearInterval(timeInterval); 86 | // end game 87 | gameOver(); 88 | } 89 | } 90 | 91 | // Game over, show end screen 92 | function gameOver() { 93 | endgameEl.innerHTML = ` 94 |

Time ran out

95 |

Your final score is ${score}

96 | 97 | `; 98 | 99 | endgameEl.style.display = 'flex'; 100 | } 101 | 102 | addWordToDOM(); 103 | 104 | // Event listeners 105 | 106 | // Typing 107 | text.addEventListener('input', e => { 108 | const insertedText = e.target.value; 109 | 110 | if (insertedText === randomWord) { 111 | addWordToDOM(); 112 | updateScore(); 113 | 114 | // Clear 115 | e.target.value = ''; 116 | 117 | if (difficulty === 'hard') { 118 | time += 2; 119 | } else if (difficulty === 'medium') { 120 | time += 3; 121 | } else { 122 | time += 5; 123 | } 124 | 125 | updateTime(); 126 | } 127 | }); 128 | 129 | // Settings btn click 130 | settingsBtn.addEventListener('click', () => settings.classList.toggle('hide')); 131 | 132 | // Settings select 133 | settingsForm.addEventListener('change', e => { 134 | difficulty = e.target.value; 135 | localStorage.setItem('difficulty', difficulty); 136 | }); -------------------------------------------------------------------------------- /9- Civo clone/image/circular.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /14-Spanish-Translator/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Ubuntu:wght@500&display=swap'); 2 | 3 | :root { 4 | --primary-color: #F19882; 5 | --light-green: #B0C185; 6 | --beige: #EBE4DC; 7 | } 8 | 9 | body { 10 | font-family: 'Ubuntu', sans-serif; 11 | margin: 0px; 12 | background-color: #fbf9f8; 13 | opacity: 0.8; 14 | background-image: linear-gradient(135deg, #fbfbf9 25%, transparent 25%), linear-gradient(225deg, #fbfbf9 25%, transparent 25%), linear-gradient(45deg, #fbfbf9 25%, transparent 25%), linear-gradient(315deg, #fbfbf9 25%, #fbf9f8 25%); 15 | background-position: 40px 0, 40px 0, 0 0, 0 0; 16 | background-size: 40px 40px; 17 | background-repeat: repeat; 18 | 19 | } 20 | 21 | #input-field { 22 | width: 80%; 23 | height: 10vh; 24 | display: block; 25 | margin-top: 1rem; 26 | margin-left: auto; 27 | margin-right: auto; 28 | padding: 1rem; 29 | background-color: var(--beige); 30 | border: solid 2px var(--light-green); 31 | font-family: 'Ubuntu', sans-serif; 32 | font-size: medium; 33 | border-top-right-radius: 0.5rem; 34 | border-bottom-left-radius: 0.5rem; 35 | } 36 | 37 | #btn-div { 38 | margin: 1rem 1rem; 39 | text-align: center; 40 | } 41 | 42 | #btn-translate { 43 | background-color: var(--beige); 44 | border: solid 2px var(--light-green); 45 | border-radius: 0.4rem; 46 | color: var(--light-green); 47 | text-shadow: var(--primary-color) 0.7px 0 0.2px; 48 | letter-spacing: 0.04rem; 49 | padding: 0.5rem 1rem; 50 | font-family: 'Ubuntu', sans-serif; 51 | } 52 | 53 | #heading-text { 54 | font-size: x-large; 55 | text-align: center; 56 | margin-top: 1rem; 57 | margin-bottom: 1rem; 58 | color: var(--light-green); 59 | } 60 | 61 | #output { 62 | border: 2px solid var(--light-green); 63 | height: 20vh; 64 | width: 80%; 65 | margin-left: auto; 66 | margin-right: auto; 67 | margin-bottom: 1.5rem; 68 | padding: 1rem; 69 | background-color: var(--beige); 70 | border-top-left-radius: 0.5rem; 71 | border-bottom-right-radius: 0.5rem; 72 | } 73 | 74 | 75 | .navigation { 76 | background-color: var(--primary-color); 77 | color: white; 78 | padding: 1rem; 79 | border-bottom-right-radius: 2rem; 80 | } 81 | 82 | .navigation .nav-brand { 83 | font-weight: bold; 84 | font-size: larger; 85 | word-spacing: 0.rem; 86 | letter-spacing: 0.1rem; 87 | text-shadow: var(--light-green) 1px 0 2px; 88 | } 89 | 90 | 91 | /* footer */ 92 | 93 | .footer { 94 | background-color: var(--primary-color); 95 | padding: 1.5rem 1rem; 96 | color: white; 97 | text-align: center; 98 | border-top-left-radius: 2rem; 99 | } 100 | 101 | .footer .link { 102 | color: white; 103 | } 104 | 105 | .footer .footer-header { 106 | font-weight: bold; 107 | font-size: large; 108 | text-shadow: var(--light-green) 1px 0 2px; 109 | padding-top: 0.5rem; 110 | } 111 | 112 | .footer ul { 113 | padding-inline-start: 0px; 114 | } 115 | 116 | /* lists */ 117 | 118 | .list-non-bullet { 119 | list-style: none; 120 | } 121 | 122 | .list-item-inline { 123 | display: inline; 124 | padding: 0rem 0.5rem; 125 | } 126 | 127 | /* links */ 128 | 129 | .link { 130 | text-decoration: none; 131 | padding: 0.5rem 1rem; 132 | text-shadow: var(--light-green) 1px 0 2px; 133 | } 134 | 135 | /* header */ 136 | 137 | .hero { 138 | padding: 2rem; 139 | } 140 | 141 | .hero .hero-img { 142 | max-width: 290px; 143 | display: block; 144 | margin: auto; 145 | } 146 | 147 | .hero .hero-heading { 148 | color: var(--light-green); 149 | padding-top: 0rem; 150 | text-align: center; 151 | } 152 | 153 | .hero .hero-heading .heading-inverted { 154 | color: var(--primary-color); 155 | text-shadow: var(--light-green) 0.2px 0 0.3px; 156 | } -------------------------------------------------------------------------------- /9- Civo clone/image/walmartlabs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /25-Blog Page/style.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | /* PAGE SECTIONS */ 7 | body { 8 | color: #444; 9 | font-family: sans-serif; 10 | 11 | border-top: 10px solid #1098ad; 12 | position: relative; 13 | } 14 | 15 | .container { 16 | width: 1200px; 17 | margin: 0 auto; 18 | } 19 | 20 | .main-header { 21 | background-color: #f7f7f7; 22 | padding: 20px 40px; 23 | } 24 | 25 | nav { 26 | font-size: 18px; 27 | } 28 | 29 | article { 30 | } 31 | 32 | .post-header { 33 | margin-bottom: 40px; 34 | } 35 | 36 | aside { 37 | background-color: #f7f7f7; 38 | border-top: 5px solid #1098ad; 39 | border-bottom: 5px solid #1098ad; 40 | padding: 40px 10px; 41 | box-sizing: border-box; 42 | } 43 | 44 | /* SMALLER ELEMENTS */ 45 | h1, 46 | h2, 47 | h3 { 48 | color: #1098ad; 49 | } 50 | 51 | h1 { 52 | font-size: 26px; 53 | text-transform: uppercase; 54 | font-style: italic; 55 | } 56 | 57 | h2 { 58 | font-size: 40px; 59 | margin-bottom: 30px; 60 | } 61 | 62 | h3 { 63 | font-size: 30px; 64 | margin-bottom: 20px; 65 | margin-top: 40px; 66 | } 67 | 68 | h4 { 69 | font-size: 20px; 70 | text-transform: uppercase; 71 | text-align: center; 72 | } 73 | 74 | p { 75 | font-size: 22px; 76 | line-height: 1.5; 77 | margin-bottom: 15px; 78 | } 79 | 80 | ul, 81 | ol { 82 | margin-left: 50px; 83 | margin-bottom: 20px; 84 | } 85 | 86 | li { 87 | font-size: 20px; 88 | margin-bottom: 10px; 89 | } 90 | 91 | li:last-child { 92 | margin-bottom: 0; 93 | } 94 | 95 | #author { 96 | font-style: italic; 97 | font-size: 18px; 98 | } 99 | 100 | #copyright { 101 | font-size: 16px; 102 | } 103 | 104 | .related-author { 105 | font-size: 18px; 106 | font-weight: bold; 107 | } 108 | 109 | .related { 110 | list-style: none; 111 | } 112 | 113 | body { 114 | } 115 | 116 | li:first-child { 117 | font-weight: bold; 118 | } 119 | 120 | li:last-child { 121 | font-style: italic; 122 | } 123 | 124 | li:nth-child(even) { 125 | } 126 | 127 | article p:first-child { 128 | color: red; 129 | } 130 | 131 | /* Styling links */ 132 | a:link { 133 | color: #1098ad; 134 | text-decoration: none; 135 | } 136 | 137 | a:visited { 138 | color: #1098ad; 139 | } 140 | 141 | a:hover { 142 | color: orangered; 143 | font-weight: bold; 144 | text-decoration: underline orangered; 145 | } 146 | 147 | a:active { 148 | background-color: black; 149 | font-style: italic; 150 | } 151 | /* LVHA */ 152 | 153 | .post-img { 154 | width: 100%; 155 | height: auto; 156 | } 157 | 158 | nav a:link { 159 | margin-right: 30px; 160 | display: inline-block; 161 | } 162 | 163 | nav a:link:last-child { 164 | margin-right: 0; 165 | } 166 | 167 | button { 168 | font-size: 22px; 169 | padding: 20px; 170 | cursor: pointer; 171 | 172 | position: absolute; 173 | bottom: 50px; 174 | right: 50px; 175 | } 176 | 177 | h1::first-letter { 178 | font-style: normal; 179 | margin-right: 5px; 180 | } 181 | 182 | h2 { 183 | position: relative; 184 | } 185 | 186 | h2::before { 187 | content: "TOP"; 188 | background-color: #ffe70e; 189 | color: #444; 190 | font-size: 16px; 191 | font-weight: bold; 192 | display: inline-block; 193 | padding: 5px 10px; 194 | position: absolute; 195 | top: -10px; 196 | right: -25px; 197 | } 198 | 199 | /* FLEXBOX */ 200 | .main-header { 201 | display: flex; 202 | align-items: center; 203 | justify-content: space-between; 204 | } 205 | .author-box { 206 | display: flex; 207 | align-items: center; 208 | margin-bottom: 15px; 209 | } 210 | #author { 211 | margin-bottom: 0px; 212 | margin-left: 15px; 213 | } 214 | .related-post { 215 | display: flex; 216 | align-items: center; 217 | margin-bottom: 15px; 218 | gap: 20px; 219 | } 220 | 221 | .related-link:link { 222 | font-weight: bold; 223 | font-size: 17px; 224 | margin-bottom: 5px; 225 | display: block; 226 | font-style: normal; 227 | } 228 | 229 | .related-author { 230 | margin-bottom: 0; 231 | font-weight: normal; 232 | font-style: italic; 233 | font-size: 14px; 234 | } 235 | 236 | /* CSS GRID */ 237 | .container { 238 | display: grid; 239 | grid-template-columns: 1fr 300px; 240 | column-gap: 75px; 241 | row-gap: 60px; 242 | align-items: start; 243 | } 244 | .main-header { 245 | grid-column: 1/-1; 246 | } 247 | 248 | article { 249 | } 250 | aside { 251 | } 252 | footer { 253 | grid-column: 1/-1; 254 | } 255 | -------------------------------------------------------------------------------- /Rock-Paper-scissors-Game-main/script.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | Rock Paper Scissors SOLUTION 🚀🔥 4 | Concepts covered in this project 5 | 👉 For loops 6 | 👉 Dom Manipulation 7 | 👉 Variables 8 | 👉 Conditionals (if else if) 9 | 👉 Template Literals 10 | 👉 Event Listeners 11 | 👉 Higher order Function (Math.random()) 12 | */ 13 | 14 | // ** getComputerChoice randomly selects between `rock` `paper` `scissors` and returns that string ** 15 | // getComputerChoice() 👉 'Rock' 16 | // getComputerChoice() 👉 'Scissors' 17 | function getComputerChoice() { 18 | let rpsChoices = ['Rock', 'Paper', 'Scissors'] 19 | let computerChoice = rpsChoices[Math.floor(Math.random() * 3)] 20 | return computerChoice 21 | } 22 | 23 | // ** getResult compares playerChoice & computerChoice and returns the score accordingly ** 24 | // human wins - getResult('Rock', 'Scissors') 👉 1 25 | // human loses - getResult('Scissors', 'Rock') 👉 -1 26 | // human draws - getResult('Rock', 'Rock') 👉 0 27 | function getResult(playerChoice, computerChoice) { 28 | // return the result of score based on if you won, drew, or lost 29 | 30 | let score; 31 | 32 | // All situations where human draws, set `score` to 0 33 | if (playerChoice === computerChoice) { 34 | score = 0 35 | 36 | // All situations where human wins, set `score` to 1 37 | // make sure to use else ifs here 38 | } else if (playerChoice === 'Rock' && computerChoice === 'Scissors') { 39 | score = 1 40 | 41 | } else if (playerChoice === "Paper" && computerChoice === "Rock") { 42 | score = 1 43 | 44 | } else if (playerChoice === "Scissors" && computerChoice === "Paper") { 45 | score = 1 46 | 47 | // Otherwise human loses (aka set score to -1) 48 | } else { 49 | score = -1 50 | } 51 | 52 | // return score 53 | return score 54 | } 55 | 56 | // ** showResult updates the DOM to `You Win!` or `You Lose!` or `It's a Draw!` based on the score. Also shows Player Choice vs. Computer Choice** 57 | function showResult(score, playerChoice, computerChoice) { 58 | // Hint: on a score of -1 59 | // You should do result.innerText = 'You Lose!' 60 | // Don't forget to grab the div with the 'result' id! 61 | 62 | let result = document.getElementById('result') 63 | switch (score) { 64 | case -1: 65 | result.innerText = `You Lose!` 66 | break; 67 | case 0: 68 | result.innerText = `It's a Draw!` 69 | break; 70 | case 1: 71 | result.innerText = `You Win!` 72 | break; 73 | } 74 | 75 | let playerScore = document.getElementById('player-score') 76 | let hands = document.getElementById('hands') 77 | playerScore.innerText = `${Number(playerScore.innerText) + score}` 78 | hands.innerText = `👱 ${playerChoice} vs 🤖 ${computerChoice}` 79 | } 80 | 81 | // ** Calculate who won and show it on the screen ** 82 | function onClickRPS(playerChoice) { 83 | const computerChoice = getComputerChoice() 84 | const score = getResult(playerChoice.value, computerChoice) 85 | showResult(score, playerChoice.value, computerChoice) 86 | } 87 | 88 | // ** Make the RPS buttons actively listen for a click and do something once a click is detected ** 89 | function playGame() { 90 | // use querySelector to select all RPS Buttons 91 | let rpsButtons = document.querySelectorAll('.rpsButton') 92 | 93 | // * Adds an on click event listener to each RPS button and every time you click it, it calls the onClickRPS function with the RPS button that was last clicked * 94 | 95 | // 1. loop through the buttons using a forEach loop 96 | // 2. Add a 'click' event listener to each button 97 | // 3. Call the onClickRPS function every time someone clicks 98 | // 4. Make sure to pass the currently selected rps button as an argument 99 | 100 | rpsButtons.forEach(rpsButton => { 101 | rpsButton.onclick = () => onClickRPS(rpsButton) 102 | }) 103 | 104 | // Add a click listener to the end game button that runs the endGame() function on click 105 | let endGameButton = document.getElementById('endGameButton') 106 | endGameButton.onclick = () => endGame() 107 | } 108 | 109 | // ** endGame function clears all the text on the DOM ** 110 | function endGame() { 111 | let playerScore = document.getElementById('player-score') 112 | let hands = document.getElementById('hands') 113 | let result = document.getElementById('result') 114 | playerScore.innerText = '' 115 | hands.innerText = '' 116 | result.innerText = '' 117 | } 118 | 119 | playGame() -------------------------------------------------------------------------------- /Live-here.md: -------------------------------------------------------------------------------- 1 | # Important Links 2 | 3 | | S.No. | Project Name | Demo Here | 4 | |:-:|:-:|:-:| 5 | |1 | Background Changer | Live Here | 6 | |2 | Netflix Homepage | Live Here | 7 | |3 | All About Forms | Live Here | 8 | |4 | Simply Clock | Live Here | 9 | |5 | Todo App | Live Here | 10 | |7 | Google Clone | Live Here | 11 | |8 | Rock Paper Scissor | Live Here | 12 | |9 | Civo clone | Live Here | 13 | |10 | Sunny summer | Live Here | 14 | |11 | ShoppingCard | Live Here | 15 | |13 | Stopwatch | Live Here | 16 | |14 | Spanish Translator | Live Here | 17 | |15 | Animated Tab Bar | Live Here | 18 | |16 | Drum | Live Here | 19 | |17 | GitHub Profile | Live Here | 20 | |18 | Events Page in Reactjs | Live Here | 21 | -------------------------------------------------------------------------------- /21-JokeMe/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Joke Me 11 | 12 | 13 | 33 | 62 | 63 |
64 |
65 |

Get Random Jokes 🤣

66 |
67 |
68 |
69 | 70 | 71 |
72 |
73 | 74 | 77 |
78 | 79 |
80 |
81 |
82 | 83 |
84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /6-Random-caption-generator/style.css: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@300&family=Overpass:ital,wght@0,300;1,200&family=Poppins:wght@400;500&family=Prata&family=Staatliches&display=swap"); 2 | 3 | * { 4 | margin: 0; 5 | padding: 0; 6 | } 7 | 8 | /***************** NAVBAR *******************/ 9 | .navbar { 10 | height: 10vh; 11 | background: #ffffff; 12 | display: flex; 13 | justify-content: flex-end; 14 | align-items: center; 15 | box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, 16 | rgba(0, 0, 0, 0.3) 0px 3px 7px -3px; 17 | margin-right: 0; 18 | } 19 | .navbar p { 20 | position: relative; 21 | left: -62%; 22 | font-family: "Poppins", sans-serif; 23 | color: #3b3b3b; 24 | font-size: 1.5rem; 25 | } 26 | .navbar a { 27 | text-decoration: none; 28 | color: #2c2c2c; 29 | padding: 10px 20px; 30 | margin: 0 10px; 31 | font-family: "Poppins", sans-serif; 32 | font-size: 1rem; 33 | box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; 34 | font-weight: 400; 35 | transition: 0.2s ease-in-out; 36 | } 37 | .navbar a:hover { 38 | box-shadow: none; 39 | background-color: #f0efefc0; 40 | } 41 | 42 | /***************** CONTAINER *******************/ 43 | 44 | .container { 45 | display: flex; 46 | flex-direction: column; 47 | justify-content: center; 48 | align-items: center; 49 | width: 100vw; 50 | height: 90vh; 51 | background: linear-gradient(to right, #6e42ff, #7733ee); 52 | 53 | background-size: cover; 54 | } 55 | 56 | .container h1 { 57 | font-family: "Staatliches", cursive; 58 | color: white; 59 | font-weight: 400; 60 | font-size: 4rem; 61 | margin-top: -10%; 62 | } 63 | .container p { 64 | font-family: "Poppins", sans-serif; 65 | color: white; 66 | } 67 | /***************** RANDOM QUOTE FROM API *******************/ 68 | .container #random { 69 | color: #3b3b3b; 70 | height: auto; 71 | 72 | font-family: "Prata", serif; 73 | font-size: 1.2rem; 74 | text-align: center; 75 | } 76 | 77 | .quote { 78 | margin-top: 5%; 79 | width: 80vh; 80 | height: 150px; 81 | background-color: #ffffff; 82 | padding: 20px; 83 | display: flex; 84 | flex-direction: column; 85 | justify-content: center; 86 | border-radius: 4px; 87 | box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, 88 | rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; 89 | } 90 | 91 | .author { 92 | width: 245px; 93 | height: 40px; 94 | background-color: #8234ff; 95 | position: relative; 96 | top: 14%; 97 | left: 13%; 98 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 99 | color: white; 100 | border-radius: 4px; 101 | text-align: center; 102 | display: flex; 103 | flex-direction: column; 104 | justify-content: center; 105 | font-family: "Poppins", sans-serif; 106 | } 107 | 108 | /***************** BUTTONS *******************/ 109 | 110 | .buttons { 111 | margin-top: 20px; 112 | height: 50px; 113 | width: 200px; 114 | 115 | display: flex; 116 | flex-direction: row; 117 | justify-content: center; 118 | align-items: center; 119 | justify-content: space-evenly; 120 | } 121 | 122 | button { 123 | padding: 10px 15px; 124 | font-family: "Poppins", sans-serif; 125 | border: none; 126 | border-radius: 3px; 127 | background-color: #ffffff; 128 | } 129 | button:hover { 130 | background-color: #e2e2e2e7; 131 | } 132 | button:focus { 133 | box-shadow: rgba(60, 64, 67, 0.473) 0px 1px 2px 0px, 134 | rgba(60, 64, 67, 0.363) 0px 2px 6px 2px; 135 | } 136 | 137 | .container img { 138 | position: absolute; 139 | width: 400px; 140 | height: 400px; 141 | bottom: 2%; 142 | right: 0%; 143 | transition: 0.3s ease-in-out; 144 | } 145 | 146 | .container img:hover { 147 | transform: scale(0.84); 148 | } 149 | 150 | /***************** footer *******************/ 151 | 152 | .footer { 153 | width: 320px; 154 | padding: 5px; 155 | background-color: #ffffff; 156 | position: absolute; 157 | bottom: 0; 158 | right: 0; 159 | border-radius: 3px; 160 | text-align: center; 161 | } 162 | .footer P { 163 | color: #3b3b3b; 164 | font-size: 0.8rem; 165 | } 166 | 167 | /***************** MEDIA QUERY *******************/ 168 | 169 | @media (max-width: 1200px) { 170 | body { 171 | width: 100vw; 172 | height: 100vh; 173 | } 174 | .navbar p { 175 | left: -25%; 176 | } 177 | .navbar a { 178 | display: none; 179 | } 180 | .container { 181 | margin: 0; 182 | 183 | width: 100vw; 184 | } 185 | .container h1 { 186 | padding: 20px; 187 | font-size: 3rem; 188 | margin-top: -25%; 189 | } 190 | .quote { 191 | width: 80vw; 192 | } 193 | .container img { 194 | display: none; 195 | } 196 | .container #random { 197 | font-size: 0.9rem; 198 | } 199 | .author { 200 | width: 150px; 201 | height: 40px; 202 | font-size: 0.8rem; 203 | background-color: #8234ff; 204 | position: relative; 205 | top: 5%; 206 | left: 25%; 207 | box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px; 208 | color: white; 209 | border-radius: 4px; 210 | text-align: center; 211 | display: flex; 212 | flex-direction: column; 213 | justify-content: center; 214 | font-family: "Poppins", sans-serif; 215 | } 216 | } 217 | -------------------------------------------------------------------------------- /10 - Sunny summer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Sunny Side 9 | 10 | 11 | 12 |
13 |
14 | 26 |
27 |

WE ARE CREATIVES

28 | 29 |
30 |
31 |
32 |
33 |
34 |

Transform your brand

35 |

We are a full-service creative agency specializing in helping brands grow fast. Engage your clients through compelling visuals that do most of the marketing for you.

36 | LEARN MORE 37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |

Stand out to the right audience

48 |

Using a collaborative formula of designers, researchers, photographers, videographers, and copywriters, we’ll build and extend your brand in digital places.

49 | LEARN MORE 50 |
51 |
52 |
53 |
54 |
55 |
56 |

Graphic Design

57 |

Great design makes you memorable. We deliver artwork that underscores your brand message and captures potential clients’ attention.

58 |
59 |
60 |

Photography

61 |

Increase your credibility by getting the most stunning, high-quality photos that improve your business image.

62 |
63 |
64 |
65 |
66 |

CLIENT TESTIMONIAL

67 |
68 |
69 | Testimonail 70 |

We put our trust in Sunnyside and they delivered, making sure our needs were met and deadlines were always hit.

71 |

Emily.R

72 |
Marketin Director
73 |
74 |
75 | Testimonail 76 |

Sunnyside’s enthusiasm coupled with their keen interest in our brand’s success made it a satisfying and enjoyable experience.

77 |

Thomas.S

78 |
Chief Operator officer
79 |
80 |
81 | Testimonail 82 |

Incredible end result! Our sales increased over 400% when we worked with Sunnyside. Highly recommended!

83 |

Jennie.R

84 |
Business Director
85 |
86 |
87 |
88 |
89 |
90 | Cone 91 |
92 |
93 | Orange 94 |
95 |
96 | Milk Bottles 97 |
98 |
99 | 100 |
101 |
102 |
103 | Logo 104 |
    105 |
  • About
  • 106 |
  • Services
  • 107 |
  • Projects
  • 108 |
109 |
110 | 111 | 112 | 113 | 114 |
115 |
116 |
117 | 118 | 119 | --------------------------------------------------------------------------------