├── care.jpg ├── korean.png ├── makeup.webp ├── right_arrow.png ├── contentImage.jfif ├── paulaChoice.avif ├── SkincareMobile.webp ├── README.md ├── signUp_LogIn ├── LogOut.js ├── SignUp.html ├── LogIn.html └── SignUplogInLogOut.js ├── Hair ├── Hair.css ├── Hair_script.js ├── Hairdb.json └── Hair.html ├── New ├── New.css ├── New_script.js └── Newdb.json ├── Makeup ├── Makeup.css ├── Makeup_script.js ├── Makeupdb.json └── Makeup.html ├── Fragrance ├── Fragrance.css ├── Fragrance_script.js └── Fragrancedb.json ├── Skincare ├── Skincare.css ├── Skincare_script.js └── Skincaredb.json ├── Tools&Brushes ├── Tools&Brushes.css ├── ToolsBrushes.js ├── Tools&Brushes.json └── Tools&Brushes.html ├── Bath&Body ├── Bath&Body.css ├── Bath&Body.js └── Bath&Body.json ├── Bucket └── Bucket.html └── Style.css /care.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/care.jpg -------------------------------------------------------------------------------- /korean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/korean.png -------------------------------------------------------------------------------- /makeup.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/makeup.webp -------------------------------------------------------------------------------- /right_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/right_arrow.png -------------------------------------------------------------------------------- /contentImage.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/contentImage.jfif -------------------------------------------------------------------------------- /paulaChoice.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/paulaChoice.avif -------------------------------------------------------------------------------- /SkincareMobile.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anshi1208/Sephora/HEAD/SkincareMobile.webp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ***Project Description:-*** 2 | 3 | This project is a clone of the Sephora website, created to demonstrate web development skills. It replicates certain features of the original Sephora webpage, including a product filter option and other functionalities. 4 | 5 | ***Features*** 6 | 7 | ***Product Filter:-*** 8 | 9 | Allows users to filter products based on various criteria. 10 | 11 | ***Product Listings:-*** 12 | 13 | Displays a range of beauty products with details such as images, names, and prices. 14 | 15 | ***Static Pages:-*** 16 | 17 | Includes static pages similar to the original Sephora website, such as the homepage and product details page. 18 | 19 | ***Technologies Used:-*** 20 | 21 | ***HTML5:-*** For the structure and layout of the webpage. 22 | 23 | ***CSS3:-*** For styling and layout. 24 | 25 | ***JavaScript:-*** For interactive elements and dynamic content. 26 | -------------------------------------------------------------------------------- /signUp_LogIn/LogOut.js: -------------------------------------------------------------------------------- 1 | let isAuth = localStorage.getItem("isAutho")|| "Not Authenticated" 2 | 3 | if(isAuth === "Authenticated"){ 4 | let navbar = document.querySelector(".main-nav") 5 | let div = document.createElement("div") 6 | let button=document.createElement("button") 7 | button.innerText="LogOut" 8 | button.className = "logoutButton"; 9 | 10 | let styles = ` 11 | .logoutButton { 12 | background-color: #333; 13 | color: #fff; 14 | padding: 10px 20px; 15 | font-size: 16px; 16 | border: none; 17 | cursor: pointer; 18 | transition: background-color 0.3s ease; 19 | } 20 | 21 | .logoutButton:hover { 22 | background-color: #0d0d0e; 23 | }`; 24 | 25 | let styleElement = document.createElement("style"); 26 | styleElement.innerHTML = styles; 27 | document.head.appendChild(styleElement); 28 | 29 | button.onclick = function(){ 30 | localStorage.setItem("isAutho", "Not Authenticated") 31 | window.location.reload() 32 | } 33 | div.append(button) 34 | navbar.append(div) 35 | } -------------------------------------------------------------------------------- /signUp_LogIn/SignUp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SignUp 7 | 57 | 58 | 59 | 60 |
61 |

Sign up Page

62 |
63 | 64 | 65 |

66 | 67 | 68 |

69 | 70 |
71 | 72 |
73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /Hair/Hair.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | button { 107 | background-color: #0f140f; 108 | color: white; 109 | padding: 10px 20px; 110 | border: none; 111 | border-radius: 5px; 112 | cursor: pointer; 113 | transition: background-color 0.3s; 114 | } 115 | 116 | button:hover { 117 | background-color: rgb(21, 20, 20) 118 | } 119 | 120 | 121 | .filtButtonHorizontal{ 122 | display: flex; 123 | justify-content: center; 124 | align-items: center; 125 | /* height: 100vh; */ 126 | } -------------------------------------------------------------------------------- /New/New.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | button { 107 | background-color: #0f140f; 108 | color: white; 109 | padding: 10px 20px; 110 | border: none; 111 | border-radius: 5px; 112 | cursor: pointer; 113 | transition: background-color 0.3s; 114 | } 115 | 116 | button:hover { 117 | background-color: rgb(21, 20, 20) 118 | } 119 | 120 | 121 | .filtButtonHorizontal{ 122 | display: flex; 123 | justify-content: center; 124 | align-items: center; 125 | /* height: 100vh; */ 126 | } -------------------------------------------------------------------------------- /Makeup/Makeup.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | button { 107 | background-color: #0f140f; 108 | color: white; 109 | padding: 10px 20px; 110 | border: none; 111 | border-radius: 5px; 112 | cursor: pointer; 113 | transition: background-color 0.3s; 114 | } 115 | 116 | button:hover { 117 | background-color: rgb(21, 20, 20) 118 | } 119 | 120 | 121 | .filtButtonHorizontal{ 122 | display: flex; 123 | justify-content: center; 124 | align-items: center; 125 | /* height: 100vh; */ 126 | } -------------------------------------------------------------------------------- /Fragrance/Fragrance.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | button { 107 | background-color: #0f140f; 108 | color: white; 109 | padding: 10px 20px; 110 | border: none; 111 | border-radius: 5px; 112 | cursor: pointer; 113 | transition: background-color 0.3s; 114 | } 115 | 116 | button:hover { 117 | background-color: rgb(21, 20, 20) 118 | } 119 | 120 | 121 | .filtButtonHorizontal{ 122 | display: flex; 123 | justify-content: center; 124 | align-items: center; 125 | /* height: 100vh; */ 126 | } -------------------------------------------------------------------------------- /Skincare/Skincare.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | 107 | button { 108 | background-color: #0f140f; 109 | color: white; 110 | padding: 10px 20px; 111 | border: none; 112 | border-radius: 5px; 113 | cursor: pointer; 114 | transition: background-color 0.3s; 115 | } 116 | 117 | button:hover { 118 | background-color: rgb(21, 20, 20) 119 | } 120 | 121 | 122 | .filtButtonHorizontal{ 123 | display: flex; 124 | justify-content: center; 125 | align-items: center; 126 | /* height: 100vh; */ 127 | } -------------------------------------------------------------------------------- /Tools&Brushes/Tools&Brushes.css: -------------------------------------------------------------------------------- 1 | #prodFilters{ 2 | display: grid; 3 | grid-template-columns: 1fr 5fr ; 4 | padding-left: 80px; 5 | padding-right: 80px; 6 | gap: 20px; 7 | } 8 | 9 | 10 | #product { 11 | display: grid; 12 | grid-template-columns: repeat(4, 1fr); 13 | gap: 10px; 14 | 15 | } 16 | #product > div { 17 | 18 | padding:15px; 19 | 20 | } 21 | #product >h3{ 22 | text-align: center; 23 | color: red; 24 | } 25 | 26 | #product > div> img{ 27 | 28 | text-align: center; 29 | } 30 | 31 | .filtButtonVertical { 32 | background-color: transparent; 33 | border: none; 34 | cursor: pointer; 35 | font-size: 16px; 36 | text-decoration: none; 37 | color: #333; 38 | transition: color 0.3s ease; 39 | } 40 | .filtButtonVertical:hover{ 41 | color: #0d0d0e; 42 | text-decoration: underline; 43 | } 44 | 45 | .lable{ 46 | display: block; 47 | font-size: 16px; 48 | margin-bottom: 8px; 49 | color: #333; 50 | font-family: 'Montserrat', sans-serif; 51 | } 52 | 53 | .lable:hover{ 54 | color: #0a0a0a; 55 | } 56 | 57 | .select { 58 | padding: 10px; 59 | font-size: 16px; 60 | border: 1px solid #ccc; 61 | border-radius: 5px; 62 | background-color: #fff; 63 | color: #333; 64 | } 65 | 66 | .select:focus { 67 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 68 | 69 | } 70 | 71 | .select::after{ 72 | content: '\25BC'; 73 | position: absolute; 74 | top: 50%; 75 | right: 10px; 76 | transform: translateY(-50%); 77 | pointer-events: none; 78 | color: #555; 79 | } 80 | 81 | 82 | .customButton { 83 | display: inline-flex; 84 | align-items: center; 85 | padding: 10px; 86 | font-size: 16px; 87 | background-color: white; 88 | color: #0d0d0e; 89 | border: none; 90 | cursor: pointer; 91 | transition: background-color 0.3s ease; 92 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 93 | 94 | } 95 | 96 | .buttonText { 97 | margin-right: 10px; 98 | } 99 | .buttonText:hover{ 100 | color: #464646; 101 | } 102 | 103 | .buttonImg { 104 | width: 20px; /* Adjust the width of the image as needed */ 105 | } 106 | button { 107 | background-color: #0f140f; 108 | color: white; 109 | padding: 10px 20px; 110 | border: none; 111 | border-radius: 5px; 112 | cursor: pointer; 113 | transition: background-color 0.3s; 114 | } 115 | 116 | button:hover { 117 | background-color: rgb(21, 20, 20) 118 | } 119 | 120 | 121 | .filtButtonHorizontal{ 122 | display: flex; 123 | justify-content: center; 124 | align-items: center; 125 | /* height: 100vh; */ 126 | } -------------------------------------------------------------------------------- /Bath&Body/Bath&Body.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | #prodFilters{ 4 | display: grid; 5 | grid-template-columns: 1fr 5fr ; 6 | padding-left: 80px; 7 | padding-right: 80px; 8 | gap: 20px; 9 | /* color: #0d0d0ee1; */ 10 | } 11 | 12 | 13 | #product { 14 | display: grid; 15 | grid-template-columns: repeat(4, 1fr); 16 | gap: 10px; 17 | 18 | } 19 | #product > div { 20 | 21 | padding:15px; 22 | 23 | } 24 | #product >h3{ 25 | text-align: center; 26 | color: red; 27 | } 28 | 29 | #product > div> img{ 30 | 31 | text-align: center; 32 | } 33 | 34 | .filtButtonVertical { 35 | background-color: transparent; 36 | border: none; 37 | cursor: pointer; 38 | font-size: 16px; 39 | text-decoration: none; 40 | color: #333; 41 | transition: color 0.3s ease; 42 | } 43 | .filtButtonVertical:hover{ 44 | color: #0d0d0e; 45 | text-decoration: underline; 46 | } 47 | 48 | .lable{ 49 | display: block; 50 | font-size: 16px; 51 | margin-bottom: 8px; 52 | color: #333; 53 | font-family: 'Montserrat', sans-serif; 54 | } 55 | 56 | .lable:hover{ 57 | color: #0a0a0a; 58 | } 59 | 60 | .select { 61 | padding: 10px; 62 | font-size: 16px; 63 | border: 1px solid #ccc; 64 | border-radius: 5px; 65 | background-color: #fff; 66 | color: #333; 67 | } 68 | 69 | .select:focus { 70 | box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); 71 | 72 | } 73 | 74 | .select::after{ 75 | content: '\25BC'; 76 | position: absolute; 77 | top: 50%; 78 | right: 10px; 79 | transform: translateY(-50%); 80 | pointer-events: none; 81 | color: #555; 82 | } 83 | 84 | 85 | .customButton { 86 | display: inline-flex; 87 | align-items: center; 88 | padding: 10px; 89 | font-size: 16px; 90 | background-color: white; 91 | color: #0d0d0e; 92 | border: none; 93 | cursor: pointer; 94 | transition: background-color 0.3s ease; 95 | box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; 96 | 97 | } 98 | 99 | .buttonText { 100 | margin-right: 10px; 101 | } 102 | .buttonText:hover{ 103 | color: #464646; 104 | } 105 | 106 | .buttonImg { 107 | width: 20px; /* Adjust the width of the image as needed */ 108 | } 109 | 110 | button { 111 | background-color: #0f140f; 112 | color: white; 113 | padding: 10px 20px; 114 | border: none; 115 | border-radius: 5px; 116 | cursor: pointer; 117 | transition: background-color 0.3s; 118 | } 119 | 120 | button:hover { 121 | background-color: rgb(21, 20, 20) 122 | } 123 | 124 | 125 | .filtButtonHorizontal{ 126 | display: flex; 127 | justify-content: center; 128 | align-items: center; 129 | /* height: 100vh; */ 130 | } -------------------------------------------------------------------------------- /signUp_LogIn/LogIn.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | LogIn 7 | 57 | 58 | 59 | 60 |
61 |

Log In Page

62 |
63 | 64 | 65 |

66 | 67 | 68 |

69 | 70 |
71 | 72 |
73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /signUp_LogIn/SignUplogInLogOut.js: -------------------------------------------------------------------------------- 1 | let sigUp = localStorage.getItem("userDetail") 2 | 3 | let logIn =localStorage.getItem("isAutho") 4 | 5 | if(!sigUp){ 6 | let navbar = document.querySelector(".main-nav") 7 | let div = document.createElement("div") 8 | div.className="navItem" 9 | let button=document.createElement("button") 10 | button.className = "logoutButton"; 11 | 12 | let a=document.createElement("a") 13 | a.innerText="SignUp" 14 | a.href="signUp_LogIn/SignUp.html" 15 | // a.target = "_blank"; 16 | 17 | let styles = ` 18 | .logoutButton { 19 | background-color: #333; 20 | padding: 10px 20px; 21 | border: none; 22 | cursor: pointer; 23 | transition: background-color 0.3s ease; 24 | } 25 | .logoutButton > a{ 26 | color: #fff; 27 | font-size: 16px; 28 | } 29 | .logoutButton:hover { 30 | background-color: #fff; 31 | }`; 32 | 33 | let styleElement = document.createElement("style"); 34 | styleElement.innerHTML = styles; 35 | document.head.appendChild(styleElement); 36 | 37 | 38 | button.appendChild(a); 39 | 40 | div.appendChild(button); 41 | 42 | navbar.appendChild(div); 43 | 44 | }else if(logIn==="Not Authenticated"){ 45 | let navbar = document.querySelector(".main-nav") 46 | let div = document.createElement("div") 47 | div.className="navItem" 48 | let button=document.createElement("button") 49 | button.className = "logoutButton"; 50 | 51 | let a=document.createElement("a") 52 | a.innerText="LogIn" 53 | a.href="signUp_LogIn/LogIn.html" 54 | // a.target = "_blank"; 55 | 56 | let styles = ` 57 | .logoutButton { 58 | background-color: #333; 59 | padding: 10px 20px; 60 | border: none; 61 | cursor: pointer; 62 | transition: background-color 0.3s ease; 63 | } 64 | .logoutButton > a{ 65 | color: #fff; 66 | font-size: 16px; 67 | } 68 | .logoutButton:hover { 69 | background-color: #fff; 70 | }`; 71 | 72 | let styleElement = document.createElement("style"); 73 | styleElement.innerHTML = styles; 74 | document.head.appendChild(styleElement); 75 | 76 | 77 | button.appendChild(a); 78 | 79 | div.appendChild(button); 80 | 81 | navbar.appendChild(div); 82 | 83 | }else{ 84 | let isAuth = localStorage.getItem("isAutho")|| "Not Authenticated" 85 | 86 | if(isAuth === "Authenticated"){ 87 | let navbar = document.querySelector(".main-nav") 88 | let div = document.createElement("div") 89 | let button=document.createElement("button") 90 | button.innerText="LogOut" 91 | button.className = "logoutButton"; 92 | 93 | let styles = ` 94 | .logoutButton { 95 | background-color: #333; 96 | padding: 10px 20px; 97 | color: #fff; 98 | font-size: 16px; 99 | border: none; 100 | cursor: pointer; 101 | transition: background-color 0.3s ease; 102 | } 103 | .logoutButton:hover { 104 | background-color: #fff; 105 | color: #000; 106 | }`; 107 | 108 | let styleElement = document.createElement("style"); 109 | styleElement.innerHTML = styles; 110 | document.head.appendChild(styleElement); 111 | 112 | button.onclick = function(){ 113 | localStorage.setItem("isAutho", "Not Authenticated") 114 | window.location.reload() 115 | } 116 | div.append(button) 117 | navbar.append(div) 118 | } 119 | } 120 | 121 | 122 | -------------------------------------------------------------------------------- /Bucket/Bucket.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Bucket 7 | 47 | 48 | 49 | 66 |

Cart

67 |

68 |
69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /New/New_script.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | 37 | div.append(img,comName,prodName,rate,price,button) 38 | productDiv.append(div) 39 | }); 40 | } 41 | 42 | fetch("Newdb.json") 43 | .then((res)=>res.json()) 44 | .then((data)=>{ 45 | mainData=data 46 | displayProduct(data)}) 47 | .catch((err)=>console.log(err)) 48 | 49 | 50 | // Here we resive value from select and according if we call function 51 | // Function 1 Price Filter Start 52 | function sortPrice(){ 53 | 54 | let sortBy =document.getElementById("choosePrice").value 55 | let a=sortBy.toString() 56 | 57 | if(a==1){ 58 | 59 | sortPriceLowToHigh() 60 | 61 | }else if(a==2){ 62 | 63 | sortPriceHighToLow() 64 | } 65 | } 66 | 67 | // sort low to high 68 | function sortPriceLowToHigh(){ 69 | 70 | // sorting data according to price 71 | mainData.sort(function(a,b){ 72 | return a.Price- b.Price 73 | }) 74 | // privius data will null 75 | productDiv.innerHTML=null 76 | displayProduct(mainData) 77 | 78 | } 79 | 80 | // sort high to low 81 | function sortPriceHighToLow(){ 82 | 83 | // sorting data according to price 84 | mainData.sort(function(a,b){ 85 | return b.Price - a.Price 86 | }) 87 | // privius data will null 88 | productDiv.innerHTML=null 89 | displayProduct(mainData) 90 | 91 | } 92 | // Function 1 Price Filter End 93 | 94 | 95 | 96 | 97 | // Here we resive value from select and according if we call function 98 | // Function 2 Rating Filter Start 99 | function sortRating(){ 100 | 101 | let sortBy =document.getElementById("chooseRating").value 102 | let a=sortBy.toString() 103 | 104 | if(a==1){ 105 | 106 | sortRatingLowToHigh() 107 | 108 | }else if(a==2){ 109 | 110 | sortRatingHighToLow() 111 | } 112 | } 113 | 114 | // sort low to high 115 | function sortRatingLowToHigh(){ 116 | 117 | // sorting data according to Rating 118 | mainData.sort(function(a,b){ 119 | return a.Rating - b.Rating 120 | }) 121 | // privius data will null 122 | productDiv.innerHTML=null 123 | displayProduct(mainData) 124 | 125 | } 126 | 127 | // sort high to low 128 | function sortRatingHighToLow(){ 129 | 130 | // sorting data according to Rating 131 | mainData.sort(function(a,b){ 132 | return b.Rating - a.Rating 133 | }) 134 | // privius data will null 135 | productDiv.innerHTML=null 136 | displayProduct(mainData) 137 | 138 | } 139 | // Function 2 Rating Filter End 140 | 141 | 142 | 143 | // Here we resive value from select and according if we call function 144 | // Function 3 Gender Filter Start 145 | function sortGender(){ 146 | 147 | let sortBy =document.getElementById("chooseGender").value 148 | let a=sortBy.toString() 149 | 150 | if(a==1){ 151 | 152 | sortMale(mainData) 153 | 154 | }else if(a==2){ 155 | 156 | sortFemale(mainData) 157 | } 158 | } 159 | 160 | // sort low to high 161 | function sortMale(data){ 162 | productDiv.innerHTML=null 163 | data.filter((obj)=>{ 164 | 165 | if(obj.Gender=="Male"){ 166 | 167 | return displayProduct([obj]) 168 | 169 | } 170 | }) 171 | } 172 | 173 | // sort high to low 174 | function sortFemale(data){ 175 | 176 | productDiv.innerHTML=null 177 | data.filter((obj)=>{ 178 | 179 | if(obj.Gender=="Female"){ 180 | 181 | return displayProduct([obj]) 182 | 183 | } 184 | }) 185 | } 186 | // Function 3 gender Filter End 187 | 188 | // sort according to New Start 189 | 190 | function newSort(){ 191 | productDiv.innerHTML=null 192 | mainData.filter((obj)=>{ 193 | 194 | if(obj.Category=="New"){ 195 | return displayProduct([obj]) 196 | } 197 | }) 198 | 199 | } 200 | // sort according to New end 201 | 202 | function women(){ 203 | productDiv.innerHTML=null 204 | mainData.filter((obj)=>{ 205 | 206 | if(obj.Gender=="Female"){ 207 | return displayProduct([obj]) 208 | } 209 | }) 210 | } 211 | 212 | 213 | // function add to cart start 214 | function addToCart(obj){ 215 | 216 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 217 | cartDetails.push(obj) 218 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 219 | 220 | } 221 | // function add to cart end 222 | 223 | -------------------------------------------------------------------------------- /Bath&Body/Bath&Body.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | 37 | div.append(img,comName,prodName,rate,price,button) 38 | productDiv.append(div) 39 | }); 40 | } 41 | 42 | fetch("Bath&Body.json") 43 | .then((res)=>res.json()) 44 | .then((data)=>{ 45 | mainData=data 46 | displayProduct(data)}) 47 | .catch((err)=>console.log(err)) 48 | 49 | 50 | // Here we resive value from select and according if we call function 51 | // Function 1 Price Filter Start 52 | function sortPrice(){ 53 | 54 | let sortBy =document.getElementById("choosePrice").value 55 | let a=sortBy.toString() 56 | 57 | if(a==1){ 58 | 59 | sortPriceLowToHigh() 60 | 61 | }else if(a==2){ 62 | 63 | sortPriceHighToLow() 64 | } 65 | } 66 | 67 | // sort low to high 68 | function sortPriceLowToHigh(){ 69 | 70 | // sorting data according to price 71 | mainData.sort(function(a,b){ 72 | return a.Price- b.Price 73 | }) 74 | // privius data will null 75 | productDiv.innerHTML=null 76 | displayProduct(mainData) 77 | 78 | } 79 | 80 | // sort high to low 81 | function sortPriceHighToLow(){ 82 | 83 | // sorting data according to price 84 | mainData.sort(function(a,b){ 85 | return b.Price - a.Price 86 | }) 87 | // privius data will null 88 | productDiv.innerHTML=null 89 | displayProduct(mainData) 90 | 91 | } 92 | // Function 1 Price Filter End 93 | 94 | 95 | 96 | 97 | // Here we resive value from select and according if we call function 98 | // Function 2 Rating Filter Start 99 | function sortRating(){ 100 | 101 | let sortBy =document.getElementById("chooseRating").value 102 | let a=sortBy.toString() 103 | 104 | if(a==1){ 105 | 106 | sortRatingLowToHigh() 107 | 108 | }else if(a==2){ 109 | 110 | sortRatingHighToLow() 111 | } 112 | } 113 | 114 | // sort low to high 115 | function sortRatingLowToHigh(){ 116 | 117 | // sorting data according to Rating 118 | mainData.sort(function(a,b){ 119 | return a.Rating - b.Rating 120 | }) 121 | // privius data will null 122 | productDiv.innerHTML=null 123 | displayProduct(mainData) 124 | 125 | } 126 | 127 | // sort high to low 128 | function sortRatingHighToLow(){ 129 | 130 | // sorting data according to Rating 131 | mainData.sort(function(a,b){ 132 | return b.Rating - a.Rating 133 | }) 134 | // privius data will null 135 | productDiv.innerHTML=null 136 | displayProduct(mainData) 137 | 138 | } 139 | // Function 2 Rating Filter End 140 | 141 | 142 | 143 | // Here we resive value from select and according if we call function 144 | // Function 3 Gender Filter Start 145 | function sortGender(){ 146 | 147 | let sortBy =document.getElementById("chooseGender").value 148 | let a=sortBy.toString() 149 | 150 | if(a==1){ 151 | 152 | sortMale(mainData) 153 | 154 | }else if(a==2){ 155 | 156 | sortFemale(mainData) 157 | } 158 | } 159 | 160 | // sort low to high 161 | function sortMale(data){ 162 | productDiv.innerHTML=null 163 | data.filter((obj)=>{ 164 | 165 | if(obj.Gender=="Male"){ 166 | 167 | return displayProduct([obj]) 168 | 169 | } 170 | }) 171 | } 172 | 173 | // sort high to low 174 | function sortFemale(data){ 175 | 176 | productDiv.innerHTML=null 177 | data.filter((obj)=>{ 178 | 179 | if(obj.Gender=="Female"){ 180 | 181 | return displayProduct([obj]) 182 | 183 | } 184 | }) 185 | } 186 | // Function 3 gender Filter End 187 | 188 | // sort according to New Start 189 | 190 | function newSort(){ 191 | productDiv.innerHTML=null 192 | mainData.filter((obj)=>{ 193 | 194 | if(obj.Category=="New"){ 195 | return displayProduct([obj]) 196 | } 197 | }) 198 | 199 | } 200 | // sort according to New end 201 | 202 | function women(){ 203 | productDiv.innerHTML=null 204 | mainData.filter((obj)=>{ 205 | 206 | if(obj.Gender=="Female"){ 207 | return displayProduct([obj]) 208 | } 209 | }) 210 | } 211 | 212 | 213 | // function add to cart start 214 | function addToCart(obj){ 215 | 216 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 217 | cartDetails.push(obj) 218 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 219 | 220 | } 221 | // function add to cart end 222 | 223 | -------------------------------------------------------------------------------- /Hair/Hair_script.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData=[] 6 | 7 | // function for display the product form data json and give divin html file 8 | function displayProduct(data){ 9 | data.forEach((obj) => { 10 | let div=document.createElement("div"); 11 | 12 | let img=document.createElement("img"); 13 | img.src=obj.Image; 14 | img.style.height="200px" 15 | 16 | let comName=document.createElement("h5"); 17 | comName.innerText=obj.company; 18 | 19 | let prodName=document.createElement("p"); 20 | prodName.innerText=obj.Product; 21 | 22 | let rate=document.createElement("p"); 23 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 24 | 25 | let price=document.createElement("p"); 26 | price.innerText=`$ ${obj.Price}` 27 | 28 | let button=document.createElement("button") 29 | button.innerText = "Add to Bucket"; 30 | 31 | button.onclick= function(){ 32 | addToCart(obj) 33 | } 34 | 35 | 36 | div.append(img,comName,prodName,rate,price,button) 37 | productDiv.append(div) 38 | }); 39 | } 40 | 41 | fetch("./Hairdb.json") 42 | .then((res)=>res.json()) 43 | .then((data)=>{ 44 | mainData=data 45 | displayProduct(data)}) 46 | .catch((err)=>console.log(err)) 47 | 48 | 49 | // Here we resive value from select and according if we call function 50 | // Function 1 Price Filter Start 51 | function sortPrice(){ 52 | 53 | let sortBy =document.getElementById("choosePrice").value 54 | let a=sortBy.toString() 55 | 56 | if(a==1){ 57 | 58 | sortPriceLowToHigh() 59 | 60 | }else if(a==2){ 61 | 62 | sortPriceHighToLow() 63 | } 64 | } 65 | 66 | // sort low to high 67 | function sortPriceLowToHigh(){ 68 | 69 | // sorting data according to price 70 | mainData.sort(function(a,b){ 71 | return a.Price - b.Price 72 | }) 73 | // privius data will null 74 | productDiv.innerHTML=null 75 | displayProduct(mainData) 76 | 77 | } 78 | 79 | // sort high to low 80 | function sortPriceHighToLow(){ 81 | 82 | // sorting data according to price 83 | mainData.sort(function(a,b){ 84 | return b.Price - a.Price 85 | }) 86 | // privius data will null 87 | productDiv.innerHTML=null 88 | displayProduct(mainData) 89 | 90 | } 91 | // Function 1 Price Filter End 92 | 93 | 94 | 95 | 96 | // Here we resive value from select and according if we call function 97 | // Function 2 Rating Filter Start 98 | function sortRating(){ 99 | 100 | let sortBy =document.getElementById("chooseRating").value 101 | let a=sortBy.toString() 102 | 103 | if(a==1){ 104 | 105 | sortRatingLowToHigh() 106 | 107 | }else if(a==2){ 108 | 109 | sortRatingHighToLow() 110 | } 111 | } 112 | 113 | // sort low to high 114 | function sortRatingLowToHigh(){ 115 | 116 | // sorting data according to Rating 117 | mainData.sort(function(a,b){ 118 | return a.Rating - b.Rating 119 | }) 120 | // privius data will null 121 | productDiv.innerHTML=null 122 | displayProduct(mainData) 123 | 124 | } 125 | 126 | // sort high to low 127 | function sortRatingHighToLow(){ 128 | 129 | // sorting data according to Rating 130 | mainData.sort(function(a,b){ 131 | return b.Rating - a.Rating 132 | }) 133 | // privius data will null 134 | productDiv.innerHTML=null 135 | displayProduct(mainData) 136 | 137 | } 138 | // Function 2 Rating Filter End 139 | 140 | 141 | 142 | // Here we resive value from select and according if we call function 143 | // Function 3 Gender Filter Start 144 | function sortGender(){ 145 | 146 | let sortBy =document.getElementById("chooseGender").value 147 | let a=sortBy.toString() 148 | 149 | if(a==1){ 150 | 151 | sortMale(mainData) 152 | 153 | }else if(a==2){ 154 | 155 | sortFemale(mainData) 156 | } 157 | } 158 | 159 | // sort low to high 160 | function sortMale(data){ 161 | productDiv.innerHTML=null 162 | data.filter((obj)=>{ 163 | 164 | if(obj.Gender=="Male"){ 165 | 166 | return displayProduct([obj]) 167 | 168 | } 169 | }) 170 | } 171 | 172 | // sort high to low 173 | function sortFemale(data){ 174 | 175 | productDiv.innerHTML=null 176 | data.filter((obj)=>{ 177 | 178 | if(obj.Gender=="Female"){ 179 | 180 | return displayProduct([obj]) 181 | 182 | } 183 | }) 184 | } 185 | // Function 3 gender Filter End 186 | 187 | // sort according to New Start 188 | function newSort(){ 189 | productDiv.innerHTML=null 190 | mainData.filter((obj)=>{ 191 | 192 | if(obj.Category=="New"){ 193 | return displayProduct([obj]) 194 | } 195 | }) 196 | } 197 | // sort according to New end 198 | 199 | function shampoo(){ 200 | productDiv.innerHTML=null 201 | mainData.filter((obj)=>{ 202 | 203 | if(obj.Product_Type=="Shampoo"){ 204 | return displayProduct([obj]) 205 | } 206 | }) 207 | } 208 | 209 | 210 | // function add to cart start 211 | function addToCart(obj){ 212 | 213 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 214 | cartDetails.push(obj) 215 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 216 | 217 | } 218 | // function add to cart end 219 | -------------------------------------------------------------------------------- /Makeup/Makeup_script.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | 37 | div.append(img,comName,prodName,rate,price,button) 38 | productDiv.append(div) 39 | }); 40 | } 41 | 42 | fetch("Makeupdb.json") 43 | .then((res)=>res.json()) 44 | .then((data)=>{ 45 | mainData=data 46 | displayProduct(data)}) 47 | .catch((err)=>console.log(err)) 48 | 49 | 50 | // Here we resive value from select and according if we call function 51 | // Function 1 Price Filter Start 52 | function sortPrice(){ 53 | 54 | let sortBy =document.getElementById("choosePrice").value 55 | let a=sortBy.toString() 56 | 57 | if(a==1){ 58 | 59 | sortPriceLowToHigh() 60 | 61 | }else if(a==2){ 62 | 63 | sortPriceHighToLow() 64 | } 65 | } 66 | 67 | // sort low to high 68 | function sortPriceLowToHigh(){ 69 | 70 | // sorting data according to price 71 | mainData.sort(function(a,b){ 72 | return a.Price- b.Price 73 | }) 74 | // privius data will null 75 | productDiv.innerHTML=null 76 | displayProduct(mainData) 77 | 78 | } 79 | 80 | // sort high to low 81 | function sortPriceHighToLow(){ 82 | 83 | // sorting data according to price 84 | mainData.sort(function(a,b){ 85 | return b.Price - a.Price 86 | }) 87 | // privius data will null 88 | productDiv.innerHTML=null 89 | displayProduct(mainData) 90 | 91 | } 92 | // Function 1 Price Filter End 93 | 94 | 95 | 96 | 97 | // Here we resive value from select and according if we call function 98 | // Function 2 Rating Filter Start 99 | function sortRating(){ 100 | 101 | let sortBy =document.getElementById("chooseRating").value 102 | let a=sortBy.toString() 103 | 104 | if(a==1){ 105 | 106 | sortRatingLowToHigh() 107 | 108 | }else if(a==2){ 109 | 110 | sortRatingHighToLow() 111 | } 112 | } 113 | 114 | // sort low to high 115 | function sortRatingLowToHigh(){ 116 | 117 | // sorting data according to Rating 118 | mainData.sort(function(a,b){ 119 | return a.Rating - b.Rating 120 | }) 121 | // privius data will null 122 | productDiv.innerHTML=null 123 | displayProduct(mainData) 124 | 125 | } 126 | 127 | // sort high to low 128 | function sortRatingHighToLow(){ 129 | 130 | // sorting data according to Rating 131 | mainData.sort(function(a,b){ 132 | return b.Rating - a.Rating 133 | }) 134 | // privius data will null 135 | productDiv.innerHTML=null 136 | displayProduct(mainData) 137 | 138 | } 139 | // Function 2 Rating Filter End 140 | 141 | 142 | 143 | // Here we resive value from select and according if we call function 144 | // Function 3 Gender Filter Start 145 | function sortGender(){ 146 | 147 | let sortBy =document.getElementById("chooseGender").value 148 | let a=sortBy.toString() 149 | 150 | if(a==1){ 151 | 152 | sortMale(mainData) 153 | 154 | }else if(a==2){ 155 | 156 | sortFemale(mainData) 157 | } 158 | } 159 | 160 | // sort low to high 161 | function sortMale(data){ 162 | productDiv.innerHTML=null 163 | data.filter((obj)=>{ 164 | 165 | if(obj.Gender=="Male"){ 166 | 167 | return displayProduct([obj]) 168 | 169 | } 170 | }) 171 | } 172 | 173 | // sort high to low 174 | function sortFemale(data){ 175 | 176 | productDiv.innerHTML=null 177 | data.filter((obj)=>{ 178 | 179 | if(obj.Gender=="Female"){ 180 | 181 | return displayProduct([obj]) 182 | 183 | } 184 | }) 185 | } 186 | // Function 3 gender Filter End 187 | 188 | // sort according to New Start 189 | 190 | function newSort(){ 191 | productDiv.innerHTML=null 192 | mainData.filter((obj)=>{ 193 | 194 | if(obj.Category=="New"){ 195 | return displayProduct([obj]) 196 | } 197 | }) 198 | 199 | } 200 | // sort according to New end 201 | 202 | function women(){ 203 | productDiv.innerHTML=null 204 | mainData.filter((obj)=>{ 205 | 206 | if(obj.Gender=="Female"){ 207 | return displayProduct([obj]) 208 | } 209 | }) 210 | } 211 | 212 | 213 | // function add to cart start 214 | function addToCart(obj){ 215 | 216 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 217 | cartDetails.push(obj) 218 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 219 | 220 | } 221 | // function add to cart end 222 | 223 | -------------------------------------------------------------------------------- /Fragrance/Fragrance_script.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | 37 | div.append(img,comName,prodName,rate,price,button) 38 | productDiv.append(div) 39 | }); 40 | } 41 | 42 | fetch("./Fragrancedb.json") 43 | .then((res)=>res.json()) 44 | .then((data)=>{ 45 | mainData=data 46 | displayProduct(data)}) 47 | .catch((err)=>console.log(err)) 48 | 49 | 50 | // Here we resive value from select and according if we call function 51 | // Function 1 Price Filter Start 52 | function sortPrice(){ 53 | 54 | let sortBy =document.getElementById("choosePrice").value 55 | let a=sortBy.toString() 56 | 57 | if(a==1){ 58 | 59 | sortPriceLowToHigh() 60 | 61 | }else if(a==2){ 62 | 63 | sortPriceHighToLow() 64 | } 65 | } 66 | 67 | // sort low to high 68 | function sortPriceLowToHigh(){ 69 | 70 | // sorting data according to price 71 | mainData.sort(function(a,b){ 72 | return a.Price- b.Price 73 | }) 74 | // privius data will null 75 | productDiv.innerHTML=null 76 | displayProduct(mainData) 77 | 78 | } 79 | 80 | // sort high to low 81 | function sortPriceHighToLow(){ 82 | 83 | // sorting data according to price 84 | mainData.sort(function(a,b){ 85 | return b.Price - a.Price 86 | }) 87 | // privius data will null 88 | productDiv.innerHTML=null 89 | displayProduct(mainData) 90 | 91 | } 92 | // Function 1 Price Filter End 93 | 94 | 95 | 96 | 97 | // Here we resive value from select and according if we call function 98 | // Function 2 Rating Filter Start 99 | function sortRating(){ 100 | 101 | let sortBy =document.getElementById("chooseRating").value 102 | let a=sortBy.toString() 103 | 104 | if(a==1){ 105 | 106 | sortRatingLowToHigh() 107 | 108 | }else if(a==2){ 109 | 110 | sortRatingHighToLow() 111 | } 112 | } 113 | 114 | // sort low to high 115 | function sortRatingLowToHigh(){ 116 | 117 | // sorting data according to Rating 118 | mainData.sort(function(a,b){ 119 | return a.Rating - b.Rating 120 | }) 121 | // privius data will null 122 | productDiv.innerHTML=null 123 | displayProduct(mainData) 124 | 125 | } 126 | 127 | // sort high to low 128 | function sortRatingHighToLow(){ 129 | 130 | // sorting data according to Rating 131 | mainData.sort(function(a,b){ 132 | return b.Rating - a.Rating 133 | }) 134 | // privius data will null 135 | productDiv.innerHTML=null 136 | displayProduct(mainData) 137 | 138 | } 139 | // Function 2 Rating Filter End 140 | 141 | 142 | 143 | // Here we resive value from select and according if we call function 144 | // Function 3 Gender Filter Start 145 | function sortGender(){ 146 | 147 | let sortBy =document.getElementById("chooseGender").value 148 | let a=sortBy.toString() 149 | 150 | if(a==1){ 151 | 152 | sortMale(mainData) 153 | 154 | }else if(a==2){ 155 | 156 | sortFemale(mainData) 157 | } 158 | } 159 | 160 | // sort low to high 161 | function sortMale(data){ 162 | productDiv.innerHTML=null 163 | data.filter((obj)=>{ 164 | 165 | if(obj.Gender=="Male"){ 166 | 167 | return displayProduct([obj]) 168 | 169 | } 170 | }) 171 | } 172 | 173 | // sort high to low 174 | function sortFemale(data){ 175 | 176 | productDiv.innerHTML=null 177 | data.filter((obj)=>{ 178 | 179 | if(obj.Gender=="Female"){ 180 | 181 | return displayProduct([obj]) 182 | 183 | } 184 | }) 185 | } 186 | // Function 3 gender Filter End 187 | 188 | // sort according to New Start 189 | 190 | function newSort(){ 191 | productDiv.innerHTML=null 192 | mainData.filter((obj)=>{ 193 | 194 | if(obj.Category=="New"){ 195 | return displayProduct([obj]) 196 | } 197 | }) 198 | 199 | } 200 | // sort according to New end 201 | 202 | function women(){ 203 | productDiv.innerHTML=null 204 | mainData.filter((obj)=>{ 205 | 206 | if(obj.Gender=="Female"){ 207 | return displayProduct([obj]) 208 | } 209 | }) 210 | } 211 | 212 | 213 | // function add to cart start 214 | function addToCart(obj){ 215 | 216 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 217 | cartDetails.push(obj) 218 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 219 | 220 | } 221 | // function add to cart end 222 | 223 | -------------------------------------------------------------------------------- /Tools&Brushes/ToolsBrushes.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | 37 | div.append(img,comName,prodName,rate,price,button) 38 | productDiv.append(div) 39 | }); 40 | } 41 | 42 | fetch("Tools&Brushes.json") 43 | .then((res)=>res.json()) 44 | .then((data)=>{ 45 | mainData=data 46 | displayProduct(data)}) 47 | .catch((err)=>console.log(err)) 48 | 49 | 50 | // Here we resive value from select and according if we call function 51 | // Function 1 Price Filter Start 52 | function sortPrice(){ 53 | 54 | let sortBy =document.getElementById("choosePrice").value 55 | let a=sortBy.toString() 56 | 57 | if(a==1){ 58 | 59 | sortPriceLowToHigh() 60 | 61 | }else if(a==2){ 62 | 63 | sortPriceHighToLow() 64 | } 65 | } 66 | 67 | // sort low to high 68 | function sortPriceLowToHigh(){ 69 | 70 | // sorting data according to price 71 | mainData.sort(function(a,b){ 72 | return a.Price- b.Price 73 | }) 74 | // privius data will null 75 | productDiv.innerHTML=null 76 | displayProduct(mainData) 77 | 78 | } 79 | 80 | // sort high to low 81 | function sortPriceHighToLow(){ 82 | 83 | // sorting data according to price 84 | mainData.sort(function(a,b){ 85 | return b.Price - a.Price 86 | }) 87 | // privius data will null 88 | productDiv.innerHTML=null 89 | displayProduct(mainData) 90 | 91 | } 92 | // Function 1 Price Filter End 93 | 94 | 95 | 96 | 97 | // Here we resive value from select and according if we call function 98 | // Function 2 Rating Filter Start 99 | function sortRating(){ 100 | 101 | let sortBy =document.getElementById("chooseRating").value 102 | let a=sortBy.toString() 103 | 104 | if(a==1){ 105 | 106 | sortRatingLowToHigh() 107 | 108 | }else if(a==2){ 109 | 110 | sortRatingHighToLow() 111 | } 112 | } 113 | 114 | // sort low to high 115 | function sortRatingLowToHigh(){ 116 | 117 | // sorting data according to Rating 118 | mainData.sort(function(a,b){ 119 | return a.Rating - b.Rating 120 | }) 121 | // privius data will null 122 | productDiv.innerHTML=null 123 | displayProduct(mainData) 124 | 125 | } 126 | 127 | // sort high to low 128 | function sortRatingHighToLow(){ 129 | 130 | // sorting data according to Rating 131 | mainData.sort(function(a,b){ 132 | return b.Rating - a.Rating 133 | }) 134 | // privius data will null 135 | productDiv.innerHTML=null 136 | displayProduct(mainData) 137 | 138 | } 139 | // Function 2 Rating Filter End 140 | 141 | 142 | 143 | // Here we resive value from select and according if we call function 144 | // Function 3 Gender Filter Start 145 | function sortGender(){ 146 | 147 | let sortBy =document.getElementById("chooseGender").value 148 | let a=sortBy.toString() 149 | 150 | if(a==1){ 151 | 152 | sortMale(mainData) 153 | 154 | }else if(a==2){ 155 | 156 | sortFemale(mainData) 157 | } 158 | } 159 | 160 | // sort low to high 161 | function sortMale(data){ 162 | productDiv.innerHTML=null 163 | data.filter((obj)=>{ 164 | 165 | if(obj.Gender=="Male"){ 166 | 167 | return displayProduct([obj]) 168 | 169 | } 170 | }) 171 | } 172 | 173 | // sort high to low 174 | function sortFemale(data){ 175 | 176 | productDiv.innerHTML=null 177 | data.filter((obj)=>{ 178 | 179 | if(obj.Gender=="Female"){ 180 | 181 | return displayProduct([obj]) 182 | 183 | } 184 | }) 185 | } 186 | // Function 3 gender Filter End 187 | 188 | // sort according to New Start 189 | 190 | function newSort(){ 191 | productDiv.innerHTML=null 192 | mainData.filter((obj)=>{ 193 | 194 | if(obj.Category=="New"){ 195 | return displayProduct([obj]) 196 | } 197 | }) 198 | 199 | } 200 | // sort according to New end 201 | 202 | function women(){ 203 | productDiv.innerHTML=null 204 | mainData.filter((obj)=>{ 205 | 206 | if(obj.Gender=="Female"){ 207 | return displayProduct([obj]) 208 | } 209 | }) 210 | } 211 | 212 | 213 | // function add to cart start 214 | function addToCart(obj){ 215 | 216 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 217 | cartDetails.push(obj) 218 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 219 | 220 | } 221 | // function add to cart end 222 | 223 | -------------------------------------------------------------------------------- /Skincare/Skincare_script.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | let productDiv =document.getElementById("product") 4 | 5 | let mainData =[] 6 | 7 | 8 | // function for display the product form data json and give divin html file 9 | function displayProduct(data){ 10 | data.forEach((obj) => { 11 | let div=document.createElement("div"); 12 | 13 | let img=document.createElement("img"); 14 | img.src=obj.Image; 15 | img.style.height="200px" 16 | 17 | let comName=document.createElement("h5"); 18 | comName.innerText=obj.company; 19 | 20 | let prodName=document.createElement("p"); 21 | prodName.innerText=obj.Product; 22 | 23 | let rate=document.createElement("p"); 24 | rate.innerText=`✬ ${obj.Rating} ${obj.Rating_count}`; 25 | 26 | let price=document.createElement("p"); 27 | price.innerText=`$ ${obj.Price}` 28 | 29 | let button=document.createElement("button") 30 | button.innerText = "Add to Bucket"; 31 | 32 | button.onclick= function(){ 33 | addToCart(obj) 34 | } 35 | 36 | div.append(img,comName,prodName,rate,price, button) 37 | productDiv.append(div) 38 | }); 39 | } 40 | 41 | fetch("./Skincaredb.json") 42 | .then((res)=>res.json()) 43 | .then((data)=>{ 44 | mainData = data 45 | displayProduct(data)}) 46 | .catch((err)=>console.log(err)) 47 | 48 | 49 | 50 | 51 | // Here we resive value from select and according if we call function 52 | // Function 1 Price Filter Start 53 | function sortPrice(){ 54 | console.log(1) 55 | let sortBy =document.getElementById("choosePrice").value 56 | let a=sortBy.toString() 57 | 58 | if(a==1){ 59 | console.log(1) 60 | sortPriceLowToHigh() 61 | 62 | }else if(a==2){ 63 | 64 | sortPriceHighToLow() 65 | } 66 | } 67 | 68 | // sort low to high 69 | function sortPriceLowToHigh(){ 70 | 71 | // sorting data according to price 72 | mainData.sort(function(a,b){ 73 | return a.Price - b.Price 74 | }) 75 | // privius data will null 76 | productDiv.innerHTML=null 77 | displayProduct(mainData) 78 | 79 | } 80 | 81 | // sort high to low 82 | function sortPriceHighToLow(){ 83 | 84 | // sorting data according to price 85 | mainData.sort(function(a,b){ 86 | return b.Price - a.Price 87 | }) 88 | // privius data will null 89 | productDiv.innerHTML=null 90 | displayProduct(mainData) 91 | 92 | } 93 | // Function 1 Price Filter End 94 | 95 | 96 | 97 | 98 | // Here we resive value from select and according if we call function 99 | // Function 2 Rating Filter Start 100 | function sortRating(){ 101 | 102 | let sortBy =document.getElementById("chooseRating").value 103 | let a=sortBy.toString() 104 | 105 | if(a==1){ 106 | 107 | sortRatingLowToHigh() 108 | 109 | }else if(a==2){ 110 | 111 | sortRatingHighToLow() 112 | } 113 | } 114 | 115 | // sort low to high 116 | function sortRatingLowToHigh(){ 117 | 118 | // sorting data according to Rating 119 | mainData.sort(function(a,b){ 120 | return a.Rating - b.Rating 121 | }) 122 | // privius data will null 123 | productDiv.innerHTML=null 124 | displayProduct(mainData) 125 | 126 | } 127 | 128 | // sort high to low 129 | function sortRatingHighToLow(){ 130 | 131 | // sorting data according to Rating 132 | mainData.sort(function(a,b){ 133 | return b.Rating - a.Rating 134 | }) 135 | // privius data will null 136 | productDiv.innerHTML=null 137 | displayProduct(mainData) 138 | 139 | } 140 | // Function 2 Rating Filter End 141 | 142 | 143 | 144 | // Here we resive value from select and according if we call function 145 | // Function 3 Gender Filter Start 146 | function sortGender(){ 147 | 148 | let sortBy =document.getElementById("chooseGender").value 149 | let a=sortBy.toString() 150 | 151 | if(a==1){ 152 | 153 | sortMale(mainData) 154 | 155 | }else if(a==2){ 156 | 157 | sortFemale(mainData) 158 | } 159 | } 160 | 161 | // sort low to high 162 | function sortMale(data){ 163 | productDiv.innerHTML=null 164 | data.filter((obj)=>{ 165 | 166 | if(obj.Gender=="Male"){ 167 | 168 | return displayProduct([obj]) 169 | 170 | } 171 | }) 172 | } 173 | 174 | // sort high to low 175 | function sortFemale(data){ 176 | 177 | productDiv.innerHTML=null 178 | data.filter((obj)=>{ 179 | 180 | if(obj.Gender=="Female"){ 181 | 182 | return displayProduct([obj]) 183 | 184 | } 185 | }) 186 | } 187 | // Function 3 gender Filter End 188 | 189 | // sort according to New Start 190 | 191 | function newSort(){ 192 | productDiv.innerHTML=null 193 | mainData.filter((obj)=>{ 194 | 195 | if(obj.Category=="New"){ 196 | return displayProduct([obj]) 197 | } 198 | }) 199 | 200 | } 201 | // sort according to New end 202 | 203 | function moisturiser(){ 204 | productDiv.innerHTML=null 205 | mainData.filter((obj)=>{ 206 | 207 | if(obj.Product_Type=="Moiturizer"){ 208 | return displayProduct([obj]) 209 | } 210 | }) 211 | 212 | } 213 | 214 | 215 | 216 | // sort according to New Start 217 | 218 | 219 | // function add to cart start 220 | function addToCart(obj){ 221 | 222 | let cartDetails = JSON.parse(localStorage.getItem("cartDetails"))|| [] 223 | cartDetails.push(obj) 224 | localStorage.setItem("cartDetails", JSON.stringify(cartDetails)) 225 | 226 | } 227 | // function add to cart end 228 | -------------------------------------------------------------------------------- /New/Newdb.json: -------------------------------------------------------------------------------- 1 | [ 2 | 3 | { 4 | "id":2, 5 | 6 | "Category":"Old", "company": "Summer Fridays", 7 | "Image":"https://www.sephora.com/productimages/sku/s2744696-main-zoom.jpg?imwidth=250", 8 | "Product":"Dream Lip Oil for Moisturizing Sheer Coverage", 9 | "Rating":4.1, 10 | "Rating_count":"15", 11 | "Price":26.00, 12 | "Gender":"Female", 13 | "Product_For":"Lips", 14 | "Skin_Type":"Dry", 15 | "Product_Type":"Moiturizer" 16 | }, 17 | { 18 | "id":3, 19 | 20 | "Category":"Old", "company": "Dyson", 21 | "Image":"https://www.sephora.com/productimages/sku/s2718062-main-zoom.jpg?imwidth=250", 22 | "Product":"Limited Edition Airwrap Multi Styler in Ceramic Pop", 23 | "Rating":4, 24 | "Rating_count":"1.1k", 25 | "Price":599.00, 26 | "Gender":"Female", 27 | "Product_For":"Hair", 28 | "Skin_Type":"Hair", 29 | "Product_Type":"Curls" 30 | }, 31 | { 32 | "id":4, 33 | 34 | "Category":"New", "company": "Sol de Janeiro", 35 | "Image":"https://www.sephora.com/productimages/sku/s2734085-main-zoom.jpg?imwidth=250", 36 | "Product":"Mini Cheirosa 59 Perfume Mist", 37 | "Rating":4, 38 | "Rating_count":"17", 39 | "Price":24.00, 40 | "Gender":"Female", 41 | "Product_For":"Body Odor", 42 | "Skin_Type":"Dry", 43 | "Product_Type":"Perfume" 44 | }, 45 | { 46 | "id":5, 47 | 48 | "Category":"New", "company": "Sol de Janeiro", 49 | "Image":"https://www.sephora.com/productimages/sku/s2734069-main-zoom.jpg?imwidth=250", 50 | "Product":"Mini Delícia Drench™ Body Butter for Intense Moisture and Skin Barrier Repair", 51 | "Rating":4, 52 | "Rating_count":"221", 53 | "Price":22.00, 54 | "Gender":"Female", 55 | "Product_For":"Skin", 56 | "Skin_Type":"Dry", 57 | "Product_Type":"Moiturizer" 58 | }, 59 | { 60 | "id":6, 61 | 62 | "Category":"New", "company": "Sol de Janeiro", 63 | "Image":"https://www.sephora.com/productimages/sku/s2734093-main-zoom.jpg?imwidth=250", 64 | "Product":"Cheirosa 59 Perfume Mist", 65 | "Rating":4.5, 66 | "Rating_count":"72", 67 | "Price":38.00, 68 | "Gender":"Female", 69 | "Product_For":"Body Odor", 70 | "Skin_Type":"Dry", 71 | "Product_Type":"Perfume" 72 | }, 73 | { 74 | "id":7, 75 | 76 | "Category":"New", "company": "Rare Beauty by Selena Gomez", 77 | "Image":"https://www.sephora.com/productimages/sku/s2734044-main-zoom.jpg?imwidth=250", 78 | "Product":"Find Comfort Body & Hair Fragrance Mist", 79 | "Rating":4, 80 | "Rating_count":"509", 81 | "Price":28.00, 82 | "Gender":"Female", 83 | "Product_For":"Body Odor", 84 | "Skin_Type":"Dry", 85 | "Product_Type":"Perfume" 86 | }, 87 | { 88 | "id":8, 89 | 90 | "Category":"New", "company": "Glow Recipe", 91 | "Image":"https://www.sephora.com/productimages/sku/s2734606-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=250", 92 | "Product":"Cloudberry Bright Essence Toner™", 93 | "Rating":4.9, 94 | "Rating_count":"484", 95 | "Price":38.00, 96 | "Gender":"Female", 97 | "Product_For":"Face", 98 | "Skin_Type":"Normal", 99 | "Product_Type":"Toner" 100 | }, 101 | { 102 | "id":9, 103 | 104 | "Category":"New", "company": "HUDA BEAUTY", 105 | "Image":"https://www.sephora.com/productimages/sku/s2739415-main-zoom.jpg?imwidth=250", 106 | "Product":"Easy Bake Loose Baking & Setting Powder", 107 | "Rating":4.5, 108 | "Rating_count":"4.9k", 109 | "Price":38.00, 110 | "Gender":"Female", 111 | "Product_For":"Face", 112 | "Skin_Type":"Normal", 113 | "Product_Type":"Powder" 114 | }, 115 | { 116 | "id":10, 117 | "Category":"New", 118 | "company": "Fenty Beauty by Rihanna", 119 | "Image":"https://www.sephora.com/productimages/sku/s2746493-main-zoom.jpg?imwidth=250", 120 | "Product":"We're Even Hydrating Longwear Waterproof Concealer", 121 | "Rating":4.8, 122 | "Rating_count":"109", 123 | "Price":30.00, 124 | "Gender":"Female", 125 | "Product_For":"Face", 126 | "Skin_Type":"Normal", 127 | "Product_Type":"Concelear" 128 | }, 129 | { 130 | "id":11, 131 | "Category":"New", 132 | "company": "Fenty Skin", 133 | "Image":"https://www.sephora.com/productimages/sku/s2731818-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 134 | "Product":"Cherry Dub Blah to Bright 5% AHA Face Mask with Salicylic Acid + Vitamin C", 135 | "Rating":5, 136 | "Rating_count":"8", 137 | "Price":39.00, 138 | "Gender":"Female", 139 | "Product_For":"Face", 140 | "Skin_Type":"Normal", 141 | "Product_Type":"Face Mask" 142 | }, 143 | { 144 | "id":12, 145 | "Category":"New", 146 | "company": "Rare Beauty by Selena Gomez", 147 | "Image":"https://www.sephora.com/productimages/sku/s2740926-main-zoom.jpg?imwidth=250", 148 | "Product":"Nice & Neutral Lip Gloss and Liner Duo", 149 | "Rating":4.5, 150 | "Rating_count":"12", 151 | "Price":25.00, 152 | "Gender":"Female", 153 | "Product_For":"Lips", 154 | "Skin_Type":"Normal", 155 | "Product_Type":"Lip Gloss" 156 | }, 157 | { 158 | "id":13, 159 | "Category":"New", 160 | "company": "TOM FORD", 161 | "Image":"https://www.sephora.com/productimages/sku/s2729713-main-zoom.jpg?imwidth=250", 162 | "Product":"Vanilla Sex Eau de Parfum", 163 | "Rating":4.00, 164 | "Rating_count":"735", 165 | "Price":395.00, 166 | "Gender":"Female", 167 | "Product_For":"Body Odor", 168 | "Skin_Type":"Normal", 169 | "Product_Type":"Perfume" 170 | }, 171 | { 172 | "id":14, 173 | "Category":"New", 174 | "company": "LANEIGE", 175 | "Image":"https://www.sephora.com/productimages/sku/s2743151-main-zoom.jpg?imwidth=250", 176 | "Product":"Berries 'N Choco Kisses Set", 177 | "Rating":3.1, 178 | "Rating_count":"11", 179 | "Price":26.00, 180 | "Gender":"Female", 181 | "Product_For":"Lips", 182 | "Skin_Type":"Normal", 183 | "Product_Type":"Lip Gloss" 184 | }, 185 | { 186 | "id":15, 187 | "Category":"New", 188 | "company": "Sulwhasoo", 189 | "Image":"https://www.sephora.com/productimages/sku/s2739134-main-zoom.jpg?imwidth=250", 190 | "Product":"First Care Activating Serum Lunar New Year", 191 | "Rating":4.1, 192 | "Rating_count":"6", 193 | "Price":140.00, 194 | "Gender":"Female", 195 | "Product_For":"Face", 196 | "Skin_Type":"Normal", 197 | "Product_Type":"Moiturizer" 198 | }, 199 | { 200 | "id":16, 201 | "Category":"New", 202 | "company": "HUDA BEAUTY", 203 | "Image":"https://www.sephora.com/productimages/sku/s2739407-main-zoom.jpg?imwidth=250", 204 | "Product":"Easy Bake and Snatch Pressed Talc-Free Brightening and Setting Powder", 205 | "Rating":4.9, 206 | "Rating_count":"3k", 207 | "Price":38.00, 208 | "Gender":"Female", 209 | "Product_For":"Face", 210 | "Skin_Type":"Normal", 211 | "Product_Type":"Powder" 212 | }, 213 | { 214 | "id":17, 215 | "Category":"New", 216 | "company": "OUAI", 217 | "Image":"https://www.sephora.com/productimages/sku/s2589778-main-zoom.jpg?imwidth=250", 218 | "Product":"Hair Gloss In-Shower Shine Treatment", 219 | "Rating":4.0, 220 | "Rating_count":"361", 221 | "Price":34.00, 222 | "Gender":"Female", 223 | "Product_For":"Hair", 224 | "Skin_Type":"Normal", 225 | "Product_Type":"Hair Conditioner" 226 | }, 227 | { 228 | "id":18, 229 | "Category":"New", 230 | "company": "Anastasia Beverly Hills", 231 | "Image":"https://www.sephora.com/productimages/sku/s2747293-main-zoom.jpg?imwidth=250", 232 | "Product":"Lip Velvet Liquid Lipstick", 233 | "Rating":4.5, 234 | "Rating_count":"1k", 235 | "Price":24.00, 236 | "Gender":"Female", 237 | "Product_For":"Lips", 238 | "Skin_Type":"Normal", 239 | "Product_Type":"Lipstick" 240 | }, 241 | { 242 | "id":19, 243 | "Category":"New", 244 | "company": "Dr. Jart+", 245 | "Image":"https://www.sephora.com/productimages/sku/s2733947-main-zoom.jpg?imwidth=250", 246 | "Product":"Cicapair™ Redness Rescue Kit for Sensitive Skin", 247 | "Rating":4.9, 248 | "Rating_count":"157", 249 | "Price":42.00, 250 | "Gender":"Female", 251 | "Product_For":"Face", 252 | "Skin_Type":"Sensitive", 253 | "Product_Type":"Skin Care" 254 | }, 255 | { 256 | "id":20, 257 | "Category":"New", 258 | "company": "Kosas", 259 | "Image":"https://www.sephora.com/productimages/sku/s2736387-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 260 | "Product":"Cloud Skin Complexion Bestsellers Set - Concealer, Setting Powder, Makeup Sponge", 261 | "Rating":4.0, 262 | "Rating_count":"4", 263 | "Price":38.00, 264 | "Gender":"Female", 265 | "Product_For":"Face", 266 | "Skin_Type":"Sensitive", 267 | "Product_Type":"Makeup Kit" 268 | }, 269 | { 270 | "id":21, 271 | "Category":"New", 272 | "company": "Tower 28 Beauty", 273 | "Image":"https://www.sephora.com/productimages/sku/s2742401-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 274 | "Product":"Tower 28 x Kung Fu Panda 4 SOS Daily Rescue Facial Spray", 275 | "Rating":4.0, 276 | "Rating_count":"5", 277 | "Price":28.00, 278 | "Gender":"Female", 279 | "Product_For":"Face", 280 | "Skin_Type":"Sensitive", 281 | "Product_Type":"Toner Spray" 282 | } 283 | ] -------------------------------------------------------------------------------- /Fragrance/Fragrancedb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id":1, 4 | 5 | "Category":"New", "company": "Carolina Herrera", 6 | "Image":"https://www.sephora.com/productimages/sku/s2691095-main-zoom.jpg?imwidth=175", 7 | "Product":"Mini Good Girl Blush Eau de Parfum", 8 | "Rating":4.1, 9 | "Rating_count":"542", 10 | "Price":19, 11 | "Gender":"Female", 12 | "Product_Type":"Perfume" 13 | }, 14 | { 15 | "id":2, 16 | 17 | "Category":"New", "company": "Sol de Janeiro", 18 | "Image":"https://www.sephora.com/productimages/sku/s1930759-main-zoom.jpg?imwidth=175", 19 | "Product":"Brazilian Crush Cheirosa '62 Bum Bum Hair & Body Fragrance Mist", 20 | "Rating":4.1, 21 | "Rating_count":"2.6k", 22 | "Price":38, 23 | "Gender":"Female", 24 | "Product_Type":"Perfume" 25 | }, 26 | { 27 | "id":3, 28 | 29 | "Category":"New", "company": "CHANEL", 30 | "Image":"https://www.sephora.com/productimages/sku/s1237379-main-zoom.jpg?imwidth=175", 31 | "Product":"CHANCE EAU TENDRE Eau de Toilette", 32 | "Rating":4.4, 33 | "Rating_count":"638", 34 | "Price":90, 35 | "Gender":"Female", 36 | "Product_Type":"Perfume" 37 | }, 38 | { 39 | "id":4, 40 | 41 | "Category":"New", "company": "CHANEL", 42 | "Image":"https://www.sephora.com/productimages/sku/s513168-main-zoom.jpg?imwidth=175", 43 | "Product":"COCO MADEMOISELLE EAU de Parfum", 44 | "Rating":4.3, 45 | "Rating_count":"922", 46 | "Price":105, 47 | "Gender":"Female", 48 | "Product_Type":"Perfume" 49 | }, 50 | { 51 | "id":5, 52 | 53 | "Category":"New", "company": "BURBERRY", 54 | "Image":"https://www.sephora.com/productimages/sku/s2689644-main-zoom.jpg?imwidth=250", 55 | "Product":"Burberry Goddess Eau de Parfum", 56 | "Rating":4.2, 57 | "Rating_count":"988", 58 | "Price":38, 59 | "Gender":"Female", 60 | "Product_Type":"Perfume" 61 | }, 62 | { 63 | "id":6, 64 | 65 | "Category":"New", "company": "BURBERRY", 66 | "Image":"https://www.sephora.com/productimages/sku/s2160455-main-zoom.jpg?imwidth=175", 67 | "Product":"Her Eau de Parfum", 68 | "Rating":4.1, 69 | "Rating_count":"1.4k", 70 | "Price":38, 71 | "Gender":"Female", 72 | "Product_Type":"Perfume" 73 | }, 74 | { 75 | "id":7, 76 | 77 | "Category":"New", "company": "Valentino", 78 | "Image":"https://www.sephora.com/productimages/sku/s2249688-main-zoom.jpg?imwidth=175", 79 | "Product":"Donna Born in Roma de Parfum", 80 | "Rating":4.2, 81 | "Rating_count":"2.4k", 82 | "Price":130, 83 | "Gender":"Female", 84 | "Product_Type":"Perfume" 85 | }, 86 | { 87 | "id":8, 88 | 89 | "Category":"New", "company": "GUERLAIN", 90 | "Image":"https://www.sephora.com/productimages/sku/s1915537-main-zoom.jpg?imwidth=175", 91 | "Product":"Mon Guerlain Eau de Parfum", 92 | "Rating":4.1, 93 | "Rating_count":"460", 94 | "Price":90, 95 | "Gender":"Female", 96 | "Product_Type":"Perfume" 97 | }, 98 | { 99 | "id":9, 100 | "Category":"New", 101 | "company": "Sephora Favorites", 102 | "Image":"https://www.sephora.com/productimages/sku/s2733962-main-zoom.jpg?imwidth=175", 103 | "Product":"Best-Selling Perfume Discovery Set", 104 | "Rating":3, 105 | "Rating_count":"8", 106 | "Price":30, 107 | "Gender":"Female", 108 | "Product_Type":"Perfume" 109 | }, 110 | { 111 | "id":10, 112 | "Category":"New", 113 | "company": "Viktor&Rolf", 114 | "Image":"https://www.sephora.com/productimages/sku/s1377159-main-zoom.jpg?imwidth=175", 115 | "Product":"Flowerbomb Eau de Parfum", 116 | "Rating":4.2, 117 | "Rating_count":"5.2k", 118 | "Price":38, 119 | "Gender":"Female", 120 | "Product_Type":"Perfume" 121 | }, 122 | { 123 | "id":11, 124 | "Category":"New", 125 | "company": "CHANEL", 126 | "Image":"https://www.sephora.com/productimages/sku/s1695972-main-zoom.jpg?imwidth=175", 127 | "Product":"BLEU DE CHANEL Eau de Parfum", 128 | "Rating":4.6, 129 | "Rating_count":"228", 130 | "Price":125, 131 | "Gender":"Male", 132 | "Product_Type":"Perfume" 133 | }, 134 | { 135 | "id":12, 136 | "Category":"New", 137 | "company": "Versace", 138 | "Image":"https://www.sephora.com/productimages/sku/s1513225-main-zoom.jpg?imwidth=175", 139 | "Product":"Eros", 140 | "Rating":4.5, 141 | "Rating_count":"435", 142 | "Price":32, 143 | "Gender":"Male", 144 | "Product_Type":"Perfume" 145 | }, 146 | { 147 | "id":13, 148 | "Category":"New", 149 | "company": "Valentino", 150 | "Image":"https://www.sephora.com/productimages/sku/s2639821-main-zoom.jpg?imwidth=175", 151 | "Product":"Uomo Born In Roma Intense Eau de Parfume", 152 | "Rating":4.4, 153 | "Rating_count":"552", 154 | "Price":110, 155 | "Gender":"Male", 156 | "Product_Type":"Perfume" 157 | }, 158 | { 159 | "id":14, 160 | "Category":"Old", 161 | "company": "Maison Margiela", 162 | "Image":"https://www.sephora.com/productimages/sku/s1602259-main-zoom.jpg?imwidth=175", 163 | "Product":"REPLICA' Jazz Club Eau de Toilette", 164 | "Rating":4.3, 165 | "Rating_count":"1.1k", 166 | "Price":35, 167 | "Gender":"Male", 168 | "Product_Type":"Perfume" 169 | }, 170 | { 171 | "id":15, 172 | "Category":"Old", 173 | "company": "Rabanne", 174 | "Image":"https://www.sephora.com/productimages/sku/s1200773-main-zoom.jpg?imwidth=175", 175 | "Product":"1 Million Eau de Toilette", 176 | "Rating":4.2, 177 | "Rating_count":"565", 178 | "Price":89, 179 | "Gender":"Male", 180 | "Product_Type":"Perfume" 181 | }, 182 | { 183 | "id":16, 184 | "Category":"Old", 185 | "company": "Dior", 186 | "Image":"https://www.sephora.com/productimages/sku/s1739317-main-zoom.jpg?imwidth=175", 187 | "Product":"Sauvage Eau de Toilette", 188 | "Rating":4.2, 189 | "Rating_count":"931", 190 | "Price":68, 191 | "Gender":"Male", 192 | "Product_Type":"Perfume" 193 | }, 194 | {"id":17, 195 | "Category":"Old", 196 | "company": "Prada", 197 | "Image":"https://www.sephora.com/productimages/sku/s2470086-main-zoom.jpg?imwidth=175", 198 | "Product":"Luna Rossa Ocean Eau de Toilette", 199 | "Rating":4.3, 200 | "Rating_count":"1.1k", 201 | "Price":25, 202 | "Gender":"Male", 203 | "Product_Type":"Perfume" 204 | }, 205 | { 206 | "id":18, 207 | "Category":"Old", 208 | "company": "Dolce&Gabbana", 209 | "Image":"https://www.sephora.com/productimages/sku/s1019991-main-zoom.jpg?imwidth=175", 210 | "Product":"Light Blue Pour Homme Eau de Toilette spray", 211 | "Rating":4.4, 212 | "Rating_count":"2.3k", 213 | "Price":29, 214 | "Gender":"Male", 215 | "Product_Type":"Perfume" 216 | }, 217 | { 218 | "id":19, 219 | "Category":"Old", 220 | "company": "Yves Saint Laurent", 221 | "Image":"https://www.sephora.com/productimages/sku/s2706273-main-zoom.jpg?imwidth=175", 222 | "Product":"MYSLF Eau de Parfum", 223 | "Rating":4.3, 224 | "Rating_count":"2.2k", 225 | "Price":123, 226 | "Gender":"Male", 227 | "Product_Type":"Perfume" 228 | }, 229 | { 230 | "id":20, 231 | "Category":"Old", 232 | "company": "Tom FORD", 233 | "Image":"https://www.sephora.com/productimages/sku/s2101319-main-zoom.jpg?imwidth=175", 234 | "Product":"Tabacoo Vanillle Eau de Parfum Fragrance", 235 | "Rating":4, 236 | "Rating_count":"1.3k", 237 | "Price":70, 238 | "Gender":"Male", 239 | "Product_Type":"Perfume" 240 | }, 241 | { 242 | "id":21, 243 | "Category":"Old", 244 | "company": "Glossier", 245 | "Image":"https://www.sephora.com/productimages/sku/s2649770-main-zoom.jpg?imwidth=175", 246 | "Product":"Mimi Honey Infused Hair Oil", 247 | "Rating":4, 248 | "Rating_count":"910", 249 | "Price":28, 250 | "Gender":"Unisex", 251 | "Product_Type":"Perfume" 252 | }, 253 | { 254 | "id":22, 255 | "Category":"Old", 256 | "company": "Juliette Has a Gun", 257 | "Image":"https://www.sephora.com/productimages/sku/s2648624-main-zoom.jpg?imwidth=175", 258 | "Product":"Mini Lust For Sun & Not A Perfume Travel Set", 259 | "Rating":4, 260 | "Rating_count":"40", 261 | "Price":30, 262 | "Gender":"Unisex", 263 | "Product_Type":"Perfume" 264 | }, 265 | { 266 | "id":23, 267 | "Category":"Old", 268 | "company": "KAYALI", 269 | "Image":"https://www.sephora.com/productimages/sku/s2697050-main-zoom.jpg?imwidth=175", 270 | "Product":"OUDGASM VANILLA OUD | 36 Eau de Parfum Intense Travel Spray", 271 | "Rating":3.3, 272 | "Rating_count":"42", 273 | "Price":38, 274 | "Gender":"Unisex", 275 | "Product_Type":"Perfume" 276 | }, 277 | { 278 | "id":24, 279 | "Category":"Old", 280 | "company": "Maison Margiela", 281 | "Image":"https://www.sephora.com/productimages/sku/s2650711-main-zoom.jpg?imwidth=175", 282 | "Product":"'REPLICA'Mini coffret Set", 283 | "Rating":4.1, 284 | "Rating_count":"104", 285 | "Price":75, 286 | "Gender":"Unisex", 287 | "Product_Type":"Perfume" 288 | }, 289 | { 290 | "id":25, 291 | "Category":"Old", 292 | "company": "PHLUR", 293 | "Image":"https://www.sephora.com/productimages/sku/s2630218-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 294 | "Product":"Tangerine'Boy Eaude Parfum", 295 | "Rating":4, 296 | "Rating_count":"119", 297 | "Price":29, 298 | "Gender":"Unisex", 299 | "Product_Type":"Perfume" 300 | } 301 | ] -------------------------------------------------------------------------------- /Hair/Hairdb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id":1, 4 | "Category":"New", 5 | "company": "Gisou", 6 | "Image":"https://www.sephora.com/productimages/sku/s2380285-main-zoom.jpg?pb=allure-2023-bestofbeauty-badge&imwidth=175", 7 | "Product":"Mimi Honey Infused Hair Oil", 8 | "Rating":4, 9 | "Rating_count":"2.3k", 10 | "Price":25, 11 | "Gender":"Female", 12 | "Product_For":"Hair", 13 | "Hair_Type":"Straight", 14 | "Product_Type":"Oil" 15 | }, 16 | { 17 | "id":2, 18 | "Category":"New", 19 | "company": "COLOR WOW", 20 | "Image":"https://www.sephora.com/productimages/sku/s2442200-main-zoom.jpg?imwidth=175", 21 | "Product":"Mimi Honey Infused Hair Oil", 22 | "Rating":4, 23 | "Rating_count":"2.3k", 24 | "Price":12, 25 | "Gender":"Female", 26 | "Product_For":"Hair", 27 | "Hair_Type":"Straight", 28 | "Product_Type":"Oil" 29 | }, 30 | { 31 | "id":3, 32 | "Category":"New", 33 | "company": "Necessaire", 34 | "Image":"https://www.sephora.com/productimages/sku/s2608719-main-zoom.jpg?pb=allure-2022-bestofbeauty-badge&imwidth=175", 35 | "Product":"The Shampoo - Scalp Cleanse With Hyaluronic Acid + Nicinamide For Thinning Hair", 36 | "Rating":4.1, 37 | "Rating_count":"643", 38 | "Price":28, 39 | "Gender":"Female", 40 | "Product_For":"Hair", 41 | "Hair_Type":"Curly", 42 | "Product_Type":"Shampoo" 43 | }, 44 | { 45 | "id":4, 46 | 47 | "Category":"New", "company": "Living Proof", 48 | "Image":"https://www.sephora.com/productimages/sku/s2688513-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 49 | "Product":"Perfect Hair Day Shampoo, Conditioner & Hair Mask Set", 50 | "Rating":4.5, 51 | "Rating_count":"15", 52 | "Price":56, 53 | "Gender":"Female", 54 | "Product_For":"Hair", 55 | "Hair_Type":"Straight", 56 | "Product_Type":"Shampoo, conditioner" 57 | }, 58 | { 59 | "id":5, 60 | 61 | "Category":"New", "company": "amika", 62 | "Image":"https://www.sephora.com/productimages/sku/s2673986-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 63 | "Product":"Mirrorball high Shine + Protect Antioxidant Shampoo", 64 | "Rating":4.1, 65 | "Rating_count":"1.1k", 66 | "Price":26, 67 | "Gender":"Female", 68 | "Product_For":"Hair", 69 | "Hair_Type":"Straight", 70 | "Product_Type":"Shampoo" 71 | }, 72 | { 73 | "id":6, 74 | 75 | "Category":"New", "company": "amika", 76 | "Image":"https://www.sephora.com/productimages/sku/s2735454-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 77 | "Product":"Super-Sized Signature Hai Set", 78 | "Rating":5, 79 | "Rating_count":"1", 80 | "Price":88, 81 | "Gender":"Female", 82 | "Product_For":"Hair", 83 | "Hair_Type":"Curly", 84 | "Product_Type":"Shampoo" 85 | }, 86 | { 87 | "id":7, 88 | 89 | "Category":"New", "company": "Pureology", 90 | "Image":"https://www.sephora.com/productimages/sku/s2390755-main-zoom.jpg?imwidth=175", 91 | "Product":"Hydrate Shampoo for Dry, Color-Treated Hair", 92 | "Rating":4.1, 93 | "Rating_count":"2.1k", 94 | "Price":72, 95 | "Gender":"Male", 96 | "Product_For":"Hair", 97 | "Hair_Type":"Curly", 98 | "Product_Type":"Shampoo" 99 | }, 100 | { 101 | "id":8, 102 | 103 | "Category":"New", "company": "Olaplex", 104 | "Image":"https://www.sephora.com/productimages/sku/s2118867-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 105 | "Product":"No. 4Bond Maintenance Shampoo", 106 | "Rating":4, 107 | "Rating_count":"3k", 108 | "Price":30, 109 | "Gender":"Male", 110 | "Product_For":"Hair", 111 | "Hair_Type":"Curly", 112 | "Product_Type":"oil/shampu/Vax/moiturizer" 113 | }, 114 | { 115 | "id":9, 116 | 117 | "Category":"New", "company": "Moroccanoil", 118 | "Image":"https://www.sephora.com/productimages/sku/s2030336-main-zoom.jpg?imwidth=175", 119 | "Product":"Hydrating Shampoo", 120 | "Rating":3.9, 121 | "Rating_count":"1.9k", 122 | "Price":25, 123 | "Gender":"Male", 124 | "Product_For":"Hair", 125 | "Hair_Type":"Curly", 126 | "Product_Type":"Shampoo" 127 | }, 128 | { 129 | "id":10, 130 | "Category":"New", 131 | "company": "Oribe", 132 | "Image":"https://www.sephora.com/productimages/sku/s2438166-main-zoom.jpg?imwidth=175", 133 | "Product":"Gold Lust Repair & Restore Shampoo", 134 | "Rating":3.8, 135 | "Rating_count":"861", 136 | "Price":50, 137 | "Gender":"Male", 138 | "Product_For":"Hair", 139 | "Hair_Type":"Curly", 140 | "Product_Type":"Shampoo" 141 | }, 142 | { 143 | "id":11, 144 | "Category":"New", 145 | "company": "Sol de Janeiro", 146 | "Image":"https://www.sephora.com/productimages/sku/s2673028-main-zoom.jpg?imwidth=175", 147 | "Product":"Brazilian Joia Strengthening + Smoothing Conditioner", 148 | "Rating":4.1, 149 | "Rating_count":"102", 150 | "Price":12, 151 | "Gender":"Male", 152 | "Product_For":"Hair", 153 | "Hair_Type":"Straight", 154 | "Product_Type":"Conditioner" 155 | }, 156 | { 157 | "id":12, 158 | "Category":"New", 159 | "company": "Moroccanoil", 160 | "Image":"https://www.sephora.com/productimages/sku/s2030344-main-zoom.jpg?imwidth=175", 161 | "Product":"Mimi Honey Infused Hair Oil", 162 | "Rating":4.2, 163 | "Rating_count":"1.6k", 164 | "Price":12, 165 | "Gender":"Male", 166 | "Product_For":"Hair", 167 | "Hair_Type":"Both", 168 | "Product_Type":"Conditioner" 169 | }, 170 | { 171 | "id":13, 172 | "Category":"New", 173 | "company": "Olaplex", 174 | "Image":"https://www.sephora.com/productimages/sku/s2118875-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 175 | "Product":"No. 5 Bond Maintenance Conditioner", 176 | "Rating":3.8, 177 | "Rating_count":"1.3k", 178 | "Price":25, 179 | "Gender":"Female", 180 | "Product_For":"Hair", 181 | "Hair_Type":"Both", 182 | "Product_Type":"Conditioner" 183 | }, 184 | { 185 | "id":14, 186 | "Category":"Old", 187 | "company": "Necessaire", 188 | "Image":"https://www.sephora.com/productimages/sku/s2608727-main-zoom.jpg?pb=allure-2022-bestofbeauty-badge&imwidth=175", 189 | "Product":"The Conditioner-Hydrating cream with Hyaluronic Acid, Niacinamide + Panthenol", 190 | "Rating":4.3, 191 | "Rating_count":"438k", 192 | "Price":28, 193 | "Gender":"Female", 194 | "Product_For":"Hair", 195 | "Hair_Type":"Curly", 196 | "Product_Type":"Conditioner" 197 | }, 198 | { 199 | "id":15, 200 | "Category":"Old", 201 | "company": "dae", 202 | "Image":"https://www.sephora.com/productimages/sku/s2353571-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 203 | "Product":"Signature Conditioner", 204 | "Rating":4.1, 205 | "Rating_count":"369", 206 | "Price":13, 207 | "Gender":"Female", 208 | "Product_For":"Hair", 209 | "Hair_Type":"Straight", 210 | "Product_Type":"Conditioner" 211 | }, 212 | { 213 | "id":16, 214 | "Category":"Old", 215 | "company": "The Ordinary", 216 | "Image":"https://www.sephora.com/productimages/sku/s2210722-main-zoom.jpg?imwidth=175", 217 | "Product":"Mukti-Peptide Serum for Hair Density", 218 | "Rating":3.9, 219 | "Rating_count":"1.3k", 220 | "Price":22.80, 221 | "Gender":"Female", 222 | "Product_For":"Hair", 223 | "Hair_Type":"Straight", 224 | "Product_Type":"Oilr" 225 | }, 226 | { 227 | "id":17, 228 | "Category":"Old", 229 | "company": "Kerastase", 230 | "Image":"https://www.sephora.com/productimages/sku/s2126985-main-zoom.jpg?imwidth=175", 231 | "Product":"Elixir Ultime Hydrating Hair Oil Serum", 232 | "Rating":4.2, 233 | "Rating_count":"1.3k", 234 | "Price":28, 235 | "Gender":"Female", 236 | "Product_For":"Hair", 237 | "Hair_Type":"Curly", 238 | "Product_Type":"Oil" 239 | }, 240 | { 241 | "id":18, 242 | "Category":"Old", 243 | "company": "Dyson ", 244 | "Image":"https://www.sephora.com/productimages/sku/s2683332-main-zoom.jpg?imwidth=175", 245 | "Product":"Airstrait Straightener", 246 | "Rating":4.3, 247 | "Rating_count":"314", 248 | "Price":499, 249 | "Gender":"Female", 250 | "Product_For":"Hair", 251 | "Hair_Type":"Both", 252 | "Product_Type":"Tool" 253 | }, 254 | { 255 | "id":19, 256 | "Category":"Old", 257 | "company": "Shark Beauty", 258 | "Image":"https://www.sephora.com/productimages/sku/s2712800-main-zoom.jpg?imwidth=175", 259 | "Product":"Shark SpeedStyle RapidGloss Finisher and High-Velocity Hair Dryer for Straight and Wavy Hair", 260 | "Rating":4.5, 261 | "Rating_count":"80k", 262 | "Price":199, 263 | "Gender":"Female", 264 | "Product_For":"Hair", 265 | "Hair_Type":"both", 266 | "Product_Type":"Tool" 267 | }, 268 | { 269 | "id":20, 270 | "Category":"Old", 271 | "company": "BondiBoost", 272 | "Image":"https://www.sephora.com/productimages/sku/s2712099-main-zoom.jpg?imwidth=175", 273 | "Product":"3'Blowout Brush Pro 3-in-1 Hair Dryer Brush ", 274 | "Rating":4.2, 275 | "Rating_count":"121", 276 | "Price":70, 277 | "Gender":"Female", 278 | "Product_For":"Hair", 279 | "Hair_Type":"Both", 280 | "Product_Type":"Tool" 281 | }, 282 | { 283 | "id":21, 284 | "Category":"Old", 285 | "company": "https://www.sephora.com/productimages/sku/s2015691-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 286 | "Image":"https://www.sephora.com/productimages/sku/s2015691-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 287 | "Product":"Tame: Infrared Flat Iron", 288 | "Rating":3, 289 | "Rating_count":"131", 290 | "Price":48, 291 | "Gender":"Female", 292 | "Product_For":"Hair", 293 | "Hair_Type":"Both", 294 | "Product_Type":"Tool" 295 | }, 296 | { 297 | "id":22, 298 | "Category":"Old", 299 | "company": "Shark Beauty", 300 | "Image":"https://www.sephora.com/productimages/sku/s2712768-main-zoom.jpg?imwidth=175", 301 | "Product":"Shark SmoothStyle Heated Comb + Blow Dryer Brush", 302 | "Rating":4.1, 303 | "Rating_count":"100", 304 | "Price":25, 305 | "Gender":"Female", 306 | "Product_For":"Hair", 307 | "Hair_Type":"Both", 308 | "Product_Type":"Tool" 309 | }, 310 | { 311 | "id":23, 312 | "Category":"Old", 313 | "company": "Dyson", 314 | "Image":"https://www.sephora.com/productimages/sku/s2585420-main-zoom.jpg?pb=allure-2022-bestofbeauty-badge&imwidth=175", 315 | "Product":"Supersonick hair Dryer", 316 | "Rating":4, 317 | "Rating_count":"576k", 318 | "Price":429, 319 | "Gender":"Female", 320 | "Product_For":"Hair", 321 | "Hair_Type":"Both", 322 | "Product_Type":"Tool" 323 | }, 324 | { 325 | "id":24, 326 | "Category":"Old", 327 | "company": "shark Beauty", 328 | "Image":"https://www.sephora.com/productimages/sku/s2712834-main-zoom.jpg?imwidth=175", 329 | "Product":"Shark Speedstyle DeFrizzFast Diffuser", 330 | "Rating":0, 331 | "Rating_count":"0", 332 | "Price":29, 333 | "Gender":"Female", 334 | "Product_For":"Hair", 335 | "Hair_Type":"Both", 336 | "Product_Type":"Tool" 337 | }, 338 | { 339 | "id":25, 340 | "Category":"Old", 341 | "company": "SEPHORA COLLECTION", 342 | "Image":"https://www.sephora.com/productimages/sku/s2555639-main-zoom.jpg?imwidth=175", 343 | "Product":"SC X Wetbrush Mimi Detangler Hair Brush", 344 | "Rating":4, 345 | "Rating_count":"20", 346 | "Price":7, 347 | "Gender":"Female", 348 | "Product_For":"Hair", 349 | "Hair_Type":"Both", 350 | "Product_Type":"Tool" 351 | } 352 | ] -------------------------------------------------------------------------------- /Makeup/Makeupdb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id":1, 4 | "Category":"Old", 5 | "company": "ILIA", 6 | "Image":"https://www.sephora.com/productimages/sku/s2333607-main-zoom.jpg?imwidth=250", 7 | "Product":"Super Serum Skin Tint SPF 40 Skincare Foundation", 8 | "Rating":4.0, 9 | "Rating_count":"5.4k", 10 | "Price":48.00, 11 | "Gender":"Female", 12 | "Product_For":"Face", 13 | "Skin_Type":"Dry", 14 | "Product_Type":"Foundation" 15 | }, 16 | { 17 | "id":2, 18 | "Category":"Old", 19 | "company": "Rare Beauty by Selena Gomez", 20 | "Image":"https://www.sephora.com/productimages/sku/s2640241-main-zoom.jpg?imwidth=250", 21 | "Product":"Soft Pinch Liquid Blush", 22 | "Rating":4.5, 23 | "Rating_count":"8.5k", 24 | "Price":14.00, 25 | "Gender":"Female", 26 | "Product_For":"Face", 27 | "Skin_Type":"Normal", 28 | "Product_Type":"Liquid Blush" 29 | }, 30 | { 31 | "id":3, 32 | 33 | "Category":"New", "company": "Rare Beauty by Selena Gomez", 34 | "Image":"https://www.sephora.com/productimages/sku/s2640159-main-zoom.jpg?imwidth=250", 35 | "Product":"Soft Pinch Tinted Lip Oil", 36 | "Rating":4, 37 | "Rating_count":"3.9k", 38 | "Price":20.00, 39 | "Gender":"Female", 40 | "Product_For":"Lips", 41 | "Skin_Type":"Normal", 42 | "Product_Type":"Lip oil" 43 | }, 44 | { 45 | "id":4, 46 | 47 | "Category":"New", "company": "Summer Fridays", 48 | "Image":"https://www.sephora.com/productimages/sku/s2715035-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 49 | "Product":"Lip Butter Balm for Hydration & Shine", 50 | "Rating":4.1, 51 | "Rating_count":"4.9k", 52 | "Price":24.00, 53 | "Gender":"Female", 54 | "Product_For":"Lip", 55 | "Skin_Type":"Dry", 56 | "Product_Type":"Lip Balm" 57 | }, 58 | { 59 | "id":5, 60 | 61 | "Category":"New", "company": "PATRICK TA", 62 | "Image":"https://www.sephora.com/productimages/sku/s2363844-main-zoom.jpg?imwidth=250", 63 | "Product":"Major Headlines Double-Take Crème & Powder Blush Duo", 64 | "Rating":5.0, 65 | "Rating_count":"2.1k", 66 | "Price":36.00, 67 | "Gender":"Female", 68 | "Product_For":"Face", 69 | "Skin_Type":"Normal", 70 | "Product_Type":"Powder Blush Duo" 71 | }, 72 | { 73 | "id":6, 74 | 75 | "Category":"New", "company": "SEPHORA COLLECTION", 76 | "Image":"https://www.sephora.com/productimages/sku/s1311091-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=250", 77 | "Product":"Sephora Colorful® Shadow and Liner Pencil", 78 | "Rating":4.0, 79 | "Rating_co unt":"110", 80 | "Price":5.00, 81 | "Gender":"Female", 82 | "Product_For":"Eyes", 83 | "Skin_Type":"Normal", 84 | "Product_Type":"Liner Pencil" 85 | }, 86 | { 87 | "id":7, 88 | 89 | "Category":"New", "company": "Tower 28 Beauty", 90 | "Image":"https://www.sephora.com/productimages/sku/s2549970-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 91 | "Product":"ShineOn Lip Jelly Non-Sticky Gloss", 92 | "Rating":4.5, 93 | "Rating_count":"3.4k", 94 | "Price":16.00, 95 | "Gender":"Female", 96 | "Product_For":"Lips", 97 | "Skin_Type":"Normal", 98 | "Product_Type":"Lip Gloss" 99 | }, 100 | 101 | { 102 | "id":9, 103 | 104 | "Category":"New", "company": "Charlotte Tilbury", 105 | "Image":"https://www.sephora.com/productimages/sku/s2419786-main-zoom.jpg?imwidth=250", 106 | "Product":"Hollywood Flawless Filter", 107 | "Rating":4.0, 108 | "Rating_count":"2.9k", 109 | "Price":19.00, 110 | "Gender":"Female", 111 | "Product_For":"Face", 112 | "Skin_Type":"Normal", 113 | "Product_Type":"Filler" 114 | }, 115 | { 116 | "id":10, 117 | "Category":"New", 118 | "company": "Rare Beauty by Selena Gomez", 119 | "Image":"https://www.sephora.com/productimages/sku/s2518934-main-zoom.jpg?imwidth=250", 120 | "Product":"Warm Wishes Effortless Bronzer Sticks", 121 | "Rating":4.5, 122 | "Rating_count":"2.4k", 123 | "Price":26.00, 124 | "Gender":"Female", 125 | "Product_For":"Face", 126 | "Skin_Type":"Normal", 127 | "Product_Type":"Bronzer" 128 | }, 129 | { 130 | "id":11, 131 | "Category":"New", 132 | "company": "SEPHORA COLLECTION", 133 | "Image":"https://www.sephora.com/productimages/sku/s2482180-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=250", 134 | "Product":"Ultimate Gel Waterproof Eyeliner Pencil", 135 | "Rating":4.0, 136 | "Rating_count":"528", 137 | "Price":6.50, 138 | "Gender":"Female", 139 | "Product_For":"Eyes", 140 | "Skin_Type":"Normal", 141 | "Product_Type":"Eye Liner" 142 | }, 143 | { 144 | "id":12, 145 | "Category":"New", 146 | "company": "Benefit Cosmetics", 147 | "Image":"https://www.sephora.com/productimages/sku/s2264638-main-zoom.jpg?imwidth=250", 148 | "Product":"Benetint Liquid Lip Blush & Cheek Tint", 149 | "Rating":4.0, 150 | "Rating_count":"4.3k", 151 | "Price":24.00, 152 | "Gender":"Female", 153 | "Product_For":"Lips", 154 | "Skin_Type":"Normal", 155 | "Product_Type":"Lip Blush" 156 | }, 157 | { 158 | "id":13, 159 | "Category":"New", 160 | "company": "Too Faced", 161 | "Image":"https://www.sephora.com/productimages/sku/s2084408-main-zoom.jpg?imwidth=250", 162 | "Product":"Born This Way Super Coverage Multi-Use Concealer", 163 | "Rating":4, 164 | "Rating_count":"4.6k", 165 | "Price":16.00, 166 | "Gender":"Female", 167 | "Product_For":"Face", 168 | "Skin_Type":"Normal", 169 | "Product_Type":"Concealer" 170 | }, 171 | { 172 | "id":14, 173 | "Category":"New", 174 | "company": "SEPHORA COLLECTION", 175 | "Image":"https://www.sephora.com/productimages/sku/s1686153-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=250", 176 | "Product":"Bright Future Gel Serum Under Eye Concealer", 177 | "Rating":4, 178 | "Rating_count":"3.6k", 179 | "Price":6.00, 180 | "Gender":"Female", 181 | "Product_For":"Face", 182 | "Skin_Type":"Normal", 183 | "Product_Type":"Under Eye Concealer" 184 | }, 185 | { 186 | "id":15, 187 | "Category":"New", 188 | "company": "LANEIGE", 189 | "Image":"https://www.sephora.com/productimages/sku/s2371359-main-zoom.jpg?imwidth=250", 190 | "Product":"Lip Glowy Balm", 191 | "Rating":4, 192 | "Rating_count":"4.9k", 193 | "Price":18.00, 194 | "Gender":"Female", 195 | "Product_For":"Lip", 196 | "Skin_Type":"Normal", 197 | "Product_Type":"Lip Balm" 198 | }, 199 | { 200 | "id":16, 201 | "Category":"New", 202 | "company": "SEPHORA COLLECTION", 203 | "Image":"https://www.sephora.com/productimages/sku/s1934785-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=250", 204 | "Product":"#LIPSTORIES Lipstick", 205 | "Rating":4.1, 206 | "Rating_count":"3.9k", 207 | "Price":3.50, 208 | "Gender":"Female", 209 | "Product_For":"Lip", 210 | "Skin_Type":"Normal", 211 | "Product_Type":"LipStick" 212 | }, 213 | { 214 | "id":17, 215 | "Category":"New", 216 | "company": "HUDA BEAUTY", 217 | "Image":"https://www.sephora.com/productimages/sku/s2739415-main-zoom.jpg?imwidth=250", 218 | "Product":"Easy Bake Loose Baking & Setting Powder", 219 | "Rating":4.5, 220 | "Rating_count":"4.9k", 221 | "Price":22.00, 222 | "Gender":"Female", 223 | "Product_For":"Face", 224 | "Skin_Type":"Normal", 225 | "Product_Type":"Powder" 226 | }, 227 | { 228 | "id":18, 229 | "Category":"New", 230 | "company": "SEPHORA COLLECTION", 231 | "Image":"https://www.sephora.com/productimages/sku/s2234151-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=250", 232 | "Product":"Outrageous Plumping Lip Gloss", 233 | "Rating":4.0, 234 | "Rating_count":"1.3k", 235 | "Price":13.00, 236 | "Gender":"Female", 237 | "Product_For":"Lip", 238 | "Skin_Type":"Normal", 239 | "Product_Type":"Lip Gloss" 240 | }, 241 | { 242 | "id":19, 243 | "Category":"New", 244 | "company": "LANEIGE", 245 | "Image":"https://www.sephora.com/productimages/sku/s1966258-main-zoom.jpg?imwidth=250", 246 | "Product":"Lip Sleeping Mask Intense Hydration with Vitamin C", 247 | "Rating":4.0, 248 | "Rating_count":"17.7k", 249 | "Price":24.00, 250 | "Gender":"Female", 251 | "Product_For":"Lip", 252 | "Skin_Type":"Normal", 253 | "Product_Type":"Lip Mask" 254 | }, 255 | { 256 | "id":20, 257 | "Category":"New", 258 | "company": "Saie", 259 | "Image":"https://www.sephora.com/productimages/sku/s2742989-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=250", 260 | "Product":"Dew Blush Blendable Liquid Blush", 261 | "Rating":4.0, 262 | "Rating_count":"1.2k", 263 | "Price":25.00, 264 | "Gender":"Female", 265 | "Product_For":"Face", 266 | "Skin_Type":"Normal", 267 | "Product_Type":"Liquid Blush" 268 | }, 269 | { 270 | "id":21, 271 | "Category":"New", 272 | "company": "Saie", 273 | "Image":"https://www.sephora.com/productimages/sku/s2414027-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=250", 274 | "Product":"Glowy Super Gel Lightweight Dewy Multipurpose Illuminator", 275 | "Rating":4.0, 276 | "Rating_count":"1.4k", 277 | "Price":16.00, 278 | "Gender":"Female", 279 | "Product_For":"Face", 280 | "Skin_Type":"Normal", 281 | "Product_Type":"illuminator" 282 | }, 283 | { 284 | "id":21, 285 | "Category":"New", 286 | "company": "ONE/SIZE by Patrick Starrr", 287 | "Image":"https://www.sephora.com/productimages/sku/s2490704-main-zoom.jpg?imwidth=250", 288 | "Product":"Mini On 'Til Dawn Mattifying Waterproof Setting Spray", 289 | "Rating":4.0, 290 | "Rating_count":"1.4k", 291 | "Price":17.00, 292 | "Gender":"Female", 293 | "Product_For":"Face", 294 | "Skin_Type":"Normal", 295 | "Product_Type":"Waterproof Setting Spray" 296 | }, 297 | 298 | { 299 | "id":22, 300 | "Category":"New", 301 | "company": "Rare Beauty by Selena Gomez", 302 | "Image":"https://www.sephora.com/productimages/sku/s2629483-main-zoom.jpg?pb=allure-2023-bestofbeauty-badge&imwidth=250", 303 | "Product":"Positive Light Silky Touch Highlighter", 304 | "Rating":4.0, 305 | "Rating_count":"1.6k", 306 | "Price":25.00, 307 | "Gender":"Female", 308 | "Product_For":"Face", 309 | "Skin_Type":"Normal", 310 | "Product_Type":"Touch Highlighter" 311 | }, 312 | { 313 | "id":23, 314 | "Category":"New", 315 | "company": "Kosas", 316 | "Image":"https://www.sephora.com/productimages/sku/s2737369-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=250", 317 | "Product":"Revealer Super Creamy + Brightening Concealer with Caffeine and Hyaluronic Acid", 318 | "Rating":4.0, 319 | "Rating_count":"4.3k", 320 | "Price":30.00, 321 | "Gender":"Female", 322 | "Product_For":"Face", 323 | "Skin_Type":"Normal", 324 | "Product_Type":"Concealer" 325 | }, 326 | { 327 | "id":24, 328 | "Category":"New", 329 | "company": "Dior", 330 | "Image":"https://www.sephora.com/productimages/sku/s2748093-main-zoom.jpg?imwidth=250", 331 | "Product":"BACKSTAGE Glow Face Palette", 332 | "Rating":4.5, 333 | "Rating_count":"1.1k", 334 | "Price":48.00, 335 | "Gender":"Female", 336 | "Product_For":"Face", 337 | "Skin_Type":"Normal", 338 | "Product_Type":"Face Palette" 339 | }, 340 | { 341 | "id":25, 342 | "Category":"New", 343 | "company": "NARS", 344 | "Image":"https://www.sephora.com/productimages/sku/s2245363-main-zoom.jpg?imwidth=250", 345 | "Product":"Mini Radiant Creamy Concealer", 346 | "Rating":4.0, 347 | "Rating_count":"2k", 348 | "Price":15.00, 349 | "Gender":"Female", 350 | "Product_For":"Face", 351 | "Skin_Type":"Normal", 352 | "Product_Type":"Concealer" 353 | } 354 | 355 | ] -------------------------------------------------------------------------------- /Tools&Brushes/Tools&Brushes.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "Category": "New", 5 | "company": "Shiseido", 6 | "Image": "https://www.sephora.com/productimages/sku/s1201474-main-zoom.jpg?pb=2020-03-allure-best-2018&imwidth=175", 7 | "Product": "Eylash Curler", 8 | "Rating": "2.5k", 9 | "Rating_count": "5.2k", 10 | "Price": 7.00, 11 | "Gender": "Female", 12 | "Product_For": "Face", 13 | "Skin_Type": "Dry", 14 | "Product_Type": "oil" 15 | }, 16 | { 17 | "id": 2, 18 | "Category": "New", 19 | "company": "Rare Beauty By Selena Gomez", 20 | "Image": "https://www.sephora.com/productimages/sku/s2362424-main-zoom.jpg?imwidth=175", 21 | "Product": "Mini PRO Foundation Brush#70", 22 | "Rating": "99", 23 | "Rating_count": "5.5k", 24 | "Price": 20.00, 25 | "Gender": "Female", 26 | "Product_For": "Face", 27 | "Skin_Type": "Dry", 28 | "Product_Type": "Moiturizer" 29 | }, 30 | { 31 | "id": 3, 32 | "Category": "New", 33 | "company": "SEPHORA COLLECTION", 34 | "Image": "https://www.sephora.com/productimages/sku/s2205417-main-zoom.jpg?imwidth=175", 35 | "Product": "Brazilian Bum Bum Jet Set", 36 | "Rating": "1.6K", 37 | "Rating_count": "7k", 38 | "Price": 30.00, 39 | "Gender": "Female", 40 | "Product_For": "Skin", 41 | "Skin_Type": "Dry", 42 | "Product_Type": "Moiturizer" 43 | }, 44 | { 45 | "id": 4, 46 | "Category": "New", 47 | "company": "SEPHORA COLLECTION", 48 | "Image": "https://www.sephora.com/productimages/sku/s2497204-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 49 | "Product": "Total Coverage Angled Sponge", 50 | "Rating": "244", 51 | "Rating_count": "17.3k", 52 | "Price": 12.00, 53 | "Gender": "Female", 54 | "Product_For": "Lip", 55 | "Skin_Type": "Both", 56 | "Product_Type": "Moiturizer" 57 | }, 58 | { 59 | "id": 5, 60 | "Category": "New", 61 | "company": "PATRICK TA", 62 | "Image": "https://www.sephora.com/productimages/sku/s2658045-main-zoom.jpg?pb=allure-2023-bestofbeauty-badge&imwidth=175", 63 | "Product": "Precsion Dual Ended Sculpting Brush", 64 | "Rating": "4.2k", 65 | "Rating_count": "326", 66 | "Price": 45.00, 67 | "Gender": "Female", 68 | "Product_For": "Skin", 69 | "Skin_Type": "Both", 70 | "Product_Type": "Moiturizer" 71 | }, 72 | { 73 | "id": 6, 74 | "Category": "New", 75 | "company": "Sol de Janeiro", 76 | "Image": "https://www.sephora.com/productimages/sku/s2482560-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 77 | "Product": "The Big Buffling Bronzer Brush", 78 | "Rating": "3.8k", 79 | "Rating_count": "3.8k", 80 | "Price": 26.00, 81 | "Gender": "Male", 82 | "Product_For": "Skin", 83 | "Skin_Type": "Oily", 84 | "Product_Type": "Moiturizer" 85 | }, 86 | { 87 | "id": 7, 88 | "Category": "New", 89 | "company": "SEPHORA COLLECTION", 90 | "Image": "https://www.sephora.com/productimages/sku/s2497261-main-zoom.jpg?imwidth=175", 91 | "Product": "Mini Daily Brush Cleaner", 92 | "Rating": "4.1k", 93 | "Rating_count": "7.3k", 94 | "Price": 10.00, 95 | "Gender": "Male", 96 | "Product_For": "Skin", 97 | "Skin_Type": "Both", 98 | "Product_Type": "Moiturizer" 99 | }, 100 | { 101 | "id": 8, 102 | "Category": "New", 103 | "company": "SEPHORA COLLECTION", 104 | "Image": "https://www.sephora.com/productimages/sku/s2414688-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 105 | "Product": "False Eyelash Applicator", 106 | "Rating": "4K", 107 | "Rating_count": "5.5k", 108 | "Price": 12.00, 109 | "Gender": "Female", 110 | "Product_For": "Skin", 111 | "Skin_Type": "Oily", 112 | "Product_Type": "Moiturizer" 113 | }, 114 | { 115 | "id": 9, 116 | "Category": "New", 117 | "company": "Drybar", 118 | "Image": "https://www.sephora.com/productimages/sku/s1638238-main-zoom.jpg?imwidth=175", 119 | "Product": "High Tops Self-Grip Rollers", 120 | "Rating": "4.1K", 121 | "Rating_count": "2.3k", 122 | "Price": 12.00, 123 | "Gender": "Female", 124 | "Product_For": "Skin", 125 | "Skin_Type": "Both", 126 | "Product_Type": "Moiturizer" 127 | }, 128 | { 129 | "id": 10, 130 | "company": "SEPHORA COLLECTION", 131 | "Image": "https://www.sephora.com/productimages/sku/s2373918-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 132 | "Product": "Essential Eye Makeup Brush Set", 133 | "Rating": "4.3K", 134 | "Rating_count": "498", 135 | "Price": 29.00, 136 | "Gender": "Female", 137 | "Product_For": "Skin", 138 | "Skin_Type": "Stragth/curly", 139 | "Product_Type": "Moiturizer" 140 | }, 141 | { 142 | "id": 11, 143 | "company": "SEPHORA COLLECTION", 144 | "Image": "https://www.sephora.com/productimages/sku/s2290278-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 145 | "Product": "PRO Concealer Brush #71r", 146 | "Rating": "4K", 147 | "Rating_count": "6.3k", 148 | "Price": 22.00, 149 | "Gender": "Female", 150 | "Product_For": "Skin", 151 | "Skin_Type": "Both", 152 | "Product_Type": "Cleanser" 153 | }, 154 | { 155 | "id": 12, 156 | "company": "Rare Beauty by Selena Gomez", 157 | "Image": "https://www.sephora.com/productimages/sku/s2497071-main-zoom.jpg?imwidth=175", 158 | "Product": "Soft Pinch Blush Brush", 159 | "Rating": 3.7, 160 | "Rating_count": "1.3k", 161 | "Price": 13.00, 162 | "Gender": "Female", 163 | "Product_For": "Skin", 164 | "Skin_Type": "Oily", 165 | "Product_Type": "Cleanser" 166 | }, 167 | { 168 | "id": 13, 169 | "company": "SEPHORA COLLECTION", 170 | "Image": "https://www.sephora.com/productimages/sku/s2555639-main-zoom.jpg?imwidth=175", 171 | "Product": "SC X Wetbrush Mini Detangler Hair Brush", 172 | "Rating": 4.2, 173 | "Rating_count": "2.7k", 174 | "Price": 7.00, 175 | "Gender": "Male", 176 | "Product_For": "Skin", 177 | "Skin_Type": "Dry", 178 | "Product_Type": "Cleanser" 179 | }, 180 | { 181 | "id": 14, 182 | "company": "Beautyblender", 183 | "Image": "https://www.sephora.com/productimages/sku/s2230829-main-zoom.jpg?pb=allure-2023-bestofbeauty-badge&imwidth=175", 184 | "Product": "ORIGINAL Beautyblender Makeup Sponge", 185 | "Rating": "4.1K", 186 | "Rating_count": "1.9k", 187 | "Price": 20.00, 188 | "Gender": "Female", 189 | "Product_For": "Skin", 190 | "Skin_Type": "Both", 191 | "Product_Type": "Cleanser" 192 | }, 193 | { 194 | "id": 15, 195 | "company": "SEPHORA COLLECTION", 196 | "Image": "https://www.sephora.com/productimages/sku/s2497071-main-zoom.jpg?imwidth=175", 197 | "Product": "Makeup Match Blush Brush", 198 | "Rating": 9, 199 | "Rating_count": "1.3k", 200 | "Price": 13.00, 201 | "Gender": "Female", 202 | "Product_For": "Skin", 203 | "Skin_Type": "Dry", 204 | "Product_Type": "Cleanser" 205 | }, 206 | { 207 | "id": 16, 208 | "company": "Dyson", 209 | "Image": "https://www.sephora.com/productimages/sku/s2718062-main-zoom.jpg?imwidth=175", 210 | "Product": "Limited Edition Airwrap Multi Styler in Ceramic Pop", 211 | "Rating": "4.4K", 212 | "Rating_count": "533", 213 | "Price": 59.00, 214 | "Gender": "Male", 215 | "Product_For": "Skin", 216 | "Skin_Type": "Both", 217 | "Product_Type": "Cleanser" 218 | }, 219 | { 220 | "id": 17, 221 | "company": "SEPHORA COLLECTION", 222 | "Image": "https://www.sephora.com/productimages/sku/s2497212-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 223 | "Product": "Total Coverage Original Sponge", 224 | "Rating": "4.00K", 225 | "Rating_count": "505", 226 | "Price": 12.00, 227 | "Gender": "Male", 228 | "Product_For": "Skin", 229 | "Skin_Type": "Dry", 230 | "Product_Type": "Cleanser" 231 | }, 232 | { 233 | "id": 18, 234 | "company": "SEPHORA COLLECTION", 235 | "Image": "https://www.sephora.com/productimages/sku/s2497139-main-zoom.jpg?imwidth=175", 236 | "Product": "Makeup Match Foundation Brush", 237 | "Rating": "4.1K", 238 | "Rating_count": "8.3k", 239 | "Price": 17.00, 240 | "Gender": "Male", 241 | "Product_For": "Skin", 242 | "Skin_Type": "Dry", 243 | "Product_Type": "Cleanser" 244 | }, 245 | { 246 | "id": 19, 247 | "company": "SEPHORA COLLECTION", 248 | "Image": "https://www.sephora.com/productimages/sku/s2726255-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 249 | "Product": "Mini Butterfly Beauty Eye Brush Set", 250 | "Rating": "2.1K", 251 | "Rating_count": "2.8k", 252 | "Price": 15.00, 253 | "Gender": "Male", 254 | "Product_For": "Skin", 255 | "Skin_Type": "Oily", 256 | "Product_Type": "Cleanser" 257 | }, 258 | { 259 | "id": 20, 260 | "company": "PATRICK TA", 261 | "Image": "https://www.sephora.com/productimages/sku/s2658052-main-zoom.jpg?imwidth=175", 262 | "Product": "Precision Dual Ended Nose Brush", 263 | "Rating": 2, 264 | "Rating_count": "2.3k", 265 | "Price": 26.00, 266 | "Gender": "Male", 267 | "Product_For": "Skin", 268 | "Skin_Type": "Both", 269 | "Product_Type": "Cleanser" 270 | }, 271 | { 272 | "id": 21, 273 | "company": "SEPHORA COLLECTION", 274 | "Image": "https://www.sephora.com/productimages/sku/s2083087-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 275 | "Product": "Beauty Magnet Magnetic Stand", 276 | "Rating": 3.1, 277 | "Rating_count": "2.8k", 278 | "Price": 12.00, 279 | "Gender": "Male", 280 | "Product_For": "Lip", 281 | "Skin_Type": "Both", 282 | "Product_Type": "Lip Balm" 283 | }, 284 | { 285 | "id": 22, 286 | "company": "SEPHORA COLLECTION", 287 | "Image": "https://www.sephora.com/productimages/sku/s2497246-main-zoom.jpg?imwidth=175", 288 | "Product": "Deep-Cleaning Brush and Sponge Shampoo", 289 | "Rating": "4.00K", 290 | "Rating_count": "2.1k", 291 | "Price": 26.00, 292 | "Gender": "Male", 293 | "Product_For": "Lip", 294 | "Skin_Type": "Both", 295 | "Product_Type": "Lip Balm" 296 | }, 297 | { 298 | "id": 23, 299 | "company": "SEPHORA COLLECTION", 300 | "Image": "https://www.sephora.com/productimages/sku/s2290070-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 301 | "Product": "PRO Powder Brush #50", 302 | "Rating": 45, 303 | "Rating_count": "1.7k", 304 | "Price": 34.00, 305 | "Gender": "Female", 306 | "Product_For": "Face", 307 | "Skin_Type": "Both", 308 | "Product_Type": "Sunscream" 309 | }, 310 | { 311 | "id": 24, 312 | "company": "SEPHORA COLLECTION", 313 | "Image": "https://www.sephora.com/productimages/sku/s2636306-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 314 | "Product": "Bow Sciccors", 315 | "Rating": "4.0K", 316 | "Rating_count": "1.3k", 317 | "Price": 14.0, 318 | "Gender": "Male", 319 | "Product_For": "Face", 320 | "Skin_Type": "Both", 321 | "Product_Type": "Sunscream" 322 | }, 323 | { 324 | "id": 25, 325 | "company": "MAKEUP BY MARIO", 326 | "Image": "https://www.sephora.com/productimages/sku/s2648020-main-zoom.jpg?imwidth=175", 327 | "Product": "Surreal Foundation F4 Brush", 328 | "Rating": "3.3K", 329 | "Rating_count": "2.0k", 330 | "Price": 32.00, 331 | "Gender": "Male", 332 | "Product_For": "Face", 333 | "Skin_Type": "Both", 334 | "Product_Type": "Sunscream" 335 | }, 336 | { 337 | "id": 26, 338 | "company": "REFY", 339 | "Image": "https://www.sephora.com/productimages/sku/s2505345-main-zoom.jpg?imwidth=175", 340 | "Product": "Duo Face Brush", 341 | "Rating": 405, 342 | "Rating_count": "5.6k", 343 | "Price": 24.00, 344 | "Gender": "Female", 345 | "Product_For": "Face", 346 | "Skin_Type": "Dry", 347 | "Product_Type": "Moiturizer" 348 | } 349 | ] -------------------------------------------------------------------------------- /Bath&Body/Bath&Body.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "Category": "New", 5 | "company": "Touchland", 6 | "Image": "https://www.sephora.com/productimages/sku/s2556744-main-zoom.jpg?pb=allure-2022-bestofbeauty-badge&imwidth=175", 7 | "Product": "Power Mist Hydrating Hand Sanitizer", 8 | "Rating": 667, 9 | "Rating_count": "5.2k", 10 | "Price": 10.00, 11 | "Gender": "Female", 12 | "Product_For": "Face", 13 | "Skin_Type": "Dry" 14 | }, 15 | { 16 | "id": 2, 17 | "Category": "New", 18 | "company": "Sol de Janeiro", 19 | "Image": "https://www.sephora.com/productimages/sku/s2205359-main-zoom.jpg?pb=2020-03-allure-best-2019&imwidth=175", 20 | "Product": "Glowmotions Glow Body Oil", 21 | "Rating": 754, 22 | "Rating_count": "5.5k", 23 | "Price": 35.00, 24 | "Gender": "Female", 25 | "Product_For": "Face", 26 | "Skin_Type": "Dry" 27 | }, 28 | { 29 | "id": 3, 30 | "Category": "New", 31 | "company": "Sol de Janeiro", 32 | "Image": "https://www.sephora.com/productimages/sku/s2205417-main-zoom.jpg?imwidth=175", 33 | "Product": "Brazilian Bum Bum Jet Set", 34 | "Rating": "1.6K", 35 | "Rating_count": "7k", 36 | "Price": 30.00, 37 | "Gender": "Female", 38 | "Product_For": "Skin", 39 | "Skin_Type": "Dry" 40 | }, 41 | { 42 | "id": 4, 43 | "Category": "New", 44 | "company": "Sol de Janeiro", 45 | "Image": "https://www.sephora.com/productimages/sku/s1985118-main-zoom.jpg?imwidth=175", 46 | "Product": "Mini Brazilian Crush Body Fragrance Mist", 47 | "Rating": "2.2K", 48 | "Rating_count": "17.3k", 49 | "Price": 24.00, 50 | "Gender": "Female", 51 | "Product_For": "Lip", 52 | "Skin_Type": "Both" 53 | }, 54 | { 55 | "id": 5, 56 | "Category": "New", 57 | "company": "Rare Beauty by Selena Gomez", 58 | "Image": "https://www.sephora.com/productimages/sku/s2734036-main-zoom.jpg?imwidth=175", 59 | "Product": "Find Comfort Hydrating Hand Cream", 60 | "Rating": "326", 61 | "Rating_count": "326", 62 | "Price": 18.00, 63 | "Gender": "Female", 64 | "Product_For": "Skin", 65 | "Skin_Type": "Both" 66 | }, 67 | { 68 | "id": 6, 69 | "Category": "New", 70 | "company": "Sol de Janeiro", 71 | "Image": "https://www.sephora.com/productimages/sku/s2701357-main-zoom.jpg?imwidth=175", 72 | "Product": "Beija Flor™ Jet Set", 73 | "Rating": 352, 74 | "Rating_count": "3.8k", 75 | "Price": 30.00, 76 | "Gender": "Male", 77 | "Product_For": "Skin", 78 | "Skin_Type": "Oily" 79 | }, 80 | { 81 | "id": 7, 82 | "Category": "New", 83 | "company": "SEPHORA COLLECTION", 84 | "Image": "https://www.sephora.com/productimages/sku/s2560431-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 85 | "Product": "Clean Foot Mask", 86 | "Rating": 279, 87 | "Rating_count": "7.3k", 88 | "Price": 5.00, 89 | "Gender": "Male", 90 | "Product_For": "Skin", 91 | "Skin_Type": "Both" 92 | }, 93 | { 94 | "id": 8, 95 | "Category": "New", 96 | "company": "Sol de Janeiro", 97 | "Image": "https://www.sephora.com/productimages/sku/s2734069-main-zoom.jpg?imwidth=175", 98 | "Product": "Mini Delícia Drench™ Body Butter for Intense Moisture and Skin Barrier Repair", 99 | "Rating": 221, 100 | "Rating_count": "5.5k", 101 | "Price": 22.00, 102 | "Gender": "Female", 103 | "Product_For": "Skin", 104 | "Skin_Type": "Oily" 105 | }, 106 | { 107 | "id": 9, 108 | "Category": "New", 109 | "company": "Sol de Janeiro", 110 | "Image": "https://www.sephora.com/productimages/sku/s2742138-main-zoom.jpg?imwidth=175", 111 | "Product": "Bom Dia Body Scrub 10% AHA BHA Resurfacing Complex + Crushed Maracujá Seeds", 112 | "Rating": 164, 113 | "Rating_count": "2.3k", 114 | "Price": 42.00, 115 | "Gender": "Female", 116 | "Product_For": "Skin", 117 | "Skin_Type": "Both" 118 | }, 119 | { 120 | "id": 10, 121 | "Category": "New", 122 | "company": "SEPHORA COLLECTION", 123 | "Image": "https://www.sephora.com/productimages/sku/s2373918-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 124 | "Product": "Clean Solid Deodorants", 125 | "Rating": 404, 126 | "Rating_count": "498", 127 | "Price": 8.00, 128 | "Gender": "Female", 129 | "Product_For": "Skin", 130 | "Skin_Type": "Stragth/curly" 131 | }, 132 | { 133 | "id": 11, 134 | "Category": "New", 135 | "company": "Sol de Janeiro", 136 | "Image": "https://www.sephora.com/productimages/sku/s2569747-main-zoom.jpg?imwidth=175", 137 | "Product": "Mini Brazilian Crush Cheirosa ’68 Beija Flor™ Hair & Body Fragrance Mist", 138 | "Rating": "1.1K", 139 | "Rating_count": "6.3k", 140 | "Price": 24.00, 141 | "Gender": "Female", 142 | "Product_For": "Skin", 143 | "Skin_Type": "Both", 144 | "Product_Type": "Cleanser" 145 | }, 146 | { 147 | "id": 12, 148 | "Category": "New", 149 | "company": "SEPHORA COLLECTION", 150 | "Image": "https://www.sephora.com/productimages/sku/s2398287-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 151 | "Product": "Supplement Case", 152 | "Rating": 141, 153 | "Rating_count": "1.3k", 154 | "Price": 10.00, 155 | "Gender": "Female", 156 | "Product_For": "Skin", 157 | "Skin_Type": "Oily", 158 | "Product_Type": "Cleanser" 159 | }, 160 | { 161 | "id": 13, 162 | "Category": "New", 163 | "company": "Sol de Janeiro", 164 | "Image": "https://www.sephora.com/productimages/sku/s2638971-main-zoom.jpg?imwidth=175", 165 | "Product": "Bum Bum Firmeza Firming & Debloating Body Oil", 166 | "Rating": 352, 167 | "Rating_count": "2.7k", 168 | "Price": 52.00, 169 | "Gender": "Male", 170 | "Product_For": "Skin", 171 | "Skin_Type": "Dry", 172 | "Product_Type": "Cleanser" 173 | }, 174 | { 175 | "id": 14, 176 | "Category": "New", 177 | "company": "Supergoop!", 178 | "Image": "https://www.sephora.com/productimages/sku/s2535656-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 179 | "Product": "Glowscreen SPF 40 Sunscreen with Hyaluronic Acid + Niacinamide", 180 | "Rating": "2.K", 181 | "Rating_count": "1.9k", 182 | "Price": 48.00, 183 | "Gender": "Female", 184 | "Product_For": "Skin", 185 | "Skin_Type": "Both", 186 | "Product_Type": "Cleanser" 187 | }, 188 | { 189 | "id": 15, 190 | "Category": "New", 191 | "company": "Smile Makers", 192 | "Image": "https://www.sephora.com/productimages/sku/s2721215-main-zoom.jpg?imwidth=175", 193 | "Product": "The Surfer - Clitoral Bullet Vibrator", 194 | "Rating": 9, 195 | "Rating_count": "1.3k", 196 | "Price": 34.00, 197 | "Gender": "Female", 198 | "Product_For": "Skin", 199 | "Skin_Type": "Dry", 200 | "Product_Type": "Cleanser" 201 | }, 202 | { 203 | "id": 16, 204 | "Category": "New", 205 | "company": "Sol de Janeiro", 206 | "Image": "https://www.sephora.com/productimages/sku/s1802412-main-zoom.jpg?imwidth=175", 207 | "Product": "Brazilian Bum Bum Visibly Firming Refillable Body Cream", 208 | "Rating": "9.3K", 209 | "Rating_count": "533", 210 | "Price": 48.00, 211 | "Gender": "Male", 212 | "Product_For": "Skin", 213 | "Skin_Type": "Both", 214 | "Product_Type": "Cleanser" 215 | }, 216 | { 217 | "id": 17, 218 | "Category": "New", 219 | "company": "TOM FORD", 220 | "Image": "https://www.sephora.com/productimages/sku/s2327278-main-zoom.jpg?imwidth=175", 221 | "Product": "Mini Soleil Blanc Shimmering Body Oil", 222 | "Rating": "1.3K", 223 | "Rating_count": "505", 224 | "Price": 34.00, 225 | "Gender": "Male", 226 | "Product_For": "Skin", 227 | "Skin_Type": "Dry", 228 | "Product_Type": "Cleanser" 229 | }, 230 | { 231 | "id": 18, 232 | "Category": "New", 233 | "company": "SEPHORA COLLECTION", 234 | "Image": "https://www.sephora.com/productimages/sku/s2345205-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 235 | "Product": "Hand Balm with Shea Butter", 236 | "Rating": 4.1, 237 | "Rating_count": "8.3k", 238 | "Price": 6.00, 239 | "Gender": "Male", 240 | "Product_For": "Skin", 241 | "Skin_Type": "Dry", 242 | "Product_Type": "Cleanser" 243 | }, 244 | { 245 | "id": 19, 246 | "Category": "New", 247 | "company": "L'Occitane", 248 | "Image": "https://www.sephora.com/productimages/sku/s763706-main-zoom.jpg?imwidth=175", 249 | "Product": "Cleansing And Softening Refillable Shower Oil With Almond Oil", 250 | "Rating": "2.1K", 251 | "Rating_count": "2.8k", 252 | "Price": 36.00, 253 | "Gender": "Male", 254 | "Product_For": "Skin", 255 | "Skin_Type": "Oily", 256 | "Product_Type": "Cleanser" 257 | }, 258 | { 259 | "id": 20, 260 | "Category": "New", 261 | "company": "First Aid Beauty", 262 | "Image": "https://www.sephora.com/productimages/sku/s2344646-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 263 | "Product": "Mini KP Bump Eraser Body Scrub with 10% AHA", 264 | "Rating": 2, 265 | "Rating_count": "2.3k", 266 | "Price": 12.00, 267 | "Gender": "Male", 268 | "Product_For": "Skin", 269 | "Skin_Type": "Both", 270 | "Product_Type": "Cleanser" 271 | }, 272 | { 273 | "id": 21, 274 | "Category": "New", 275 | "company": "Nécessaire", 276 | "Image": "https://www.sephora.com/productimages/sku/s2364115-main-zoom.jpg?pb=2020-03-allure-best-2019&imwidth=175", 277 | "Product": "The Body Wash - With Niacinamide, Vitamins + Plant Surfactants", 278 | "Rating": 3.1, 279 | "Rating_count": "2.8k", 280 | "Price": 32.00, 281 | "Gender": "Male", 282 | "Product_For": "Lip", 283 | "Skin_Type": "Both", 284 | "Product_Type": "Lip Balm" 285 | }, 286 | { 287 | "id": 22, 288 | "Category": "New", 289 | "company": "maude", 290 | "Image": "https://www.sephora.com/productimages/sku/s2561959-main-zoom.jpg?imwidth=175", 291 | "Product": "Vibe - 3-speed flutter-tip vibrator", 292 | "Rating": "4.00K", 293 | "Rating_count": "2.1k", 294 | "Price": 49.00, 295 | "Gender": "Male", 296 | "Product_For": "Lip", 297 | "Skin_Type": "Both", 298 | "Product_Type": "Lip Balm" 299 | }, 300 | { 301 | "id": 23, 302 | "Category": "New", 303 | "company": "SEPHORA COLLECTION", 304 | "Image": "https://www.sephora.com/productimages/sku/s2608933-main-zoom.jpg?pb=2023-03-sephora-value-2023&imwidth=175", 305 | "Product": "Bath Bomb Bath Fizzy", 306 | "Rating": 45, 307 | "Rating_count": "1.7k", 308 | "Price": 3.00, 309 | "Gender": "Female", 310 | "Product_For": "Face", 311 | "Skin_Type": "Both", 312 | "Product_Type": "Sunscream" 313 | }, 314 | { 315 | "id": 24, 316 | "Category": "New", 317 | "company": "Summer Fridays", 318 | "Image": "https://www.sephora.com/productimages/sku/s2473379-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 319 | "Product": "Mini Jet Lag Mask + Moisturizer", 320 | "Rating": "4.0K", 321 | "Rating_count": "1.3k", 322 | "Price": 26.0, 323 | "Gender": "Male", 324 | "Product_For": "Face", 325 | "Skin_Type": "Both", 326 | "Product_Type": "Sunscream" 327 | }, 328 | { 329 | "id": 25, 330 | "Category": "New", 331 | "company": "Moroccanoil", 332 | "Image": "https://www.sephora.com/productimages/sku/s2135598-main-zoom.jpg?imwidth=175", 333 | "Product": "Night Body Serum", 334 | "Rating": "3.3K", 335 | "Rating_count": "2.0k", 336 | "Price": 62.00, 337 | "Gender": "Male", 338 | "Product_For": "Face", 339 | "Skin_Type": "Both", 340 | "Product_Type": "Sunscream" 341 | }, 342 | { 343 | "id": 26, 344 | "Category": "New", 345 | "company": "Youth To The People", 346 | "Image": "https://www.sephora.com/productimages/sku/s2682508-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 347 | "Product": "Superfood + Niacinamide Body Cleanser with Antioxidants & Hyaluronic Acid", 348 | "Rating": 405, 349 | "Rating_count": "5.6k", 350 | "Price": 36.00, 351 | "Gender": "Female", 352 | "Product_For": "Face", 353 | "Skin_Type": "Dry" 354 | } 355 | ] -------------------------------------------------------------------------------- /Style.css: -------------------------------------------------------------------------------- 1 | body{ 2 | margin: 0; 3 | font-family: "Helvetica neue", helvetica arial, sans-serif; 4 | } 5 | .promotional-bar{ 6 | background-color: rgb(247, 189, 82); 7 | color: black; 8 | padding: 5px; 9 | text-align: center; 10 | } 11 | .promotional-bar:hover{ 12 | text-decoration: underline; 13 | } 14 | .highlight{ 15 | color: red; 16 | 17 | } 18 | .main-nav{ 19 | display: flex; 20 | align-items: center; 21 | background-color: white; 22 | padding : 15px; 23 | color : black; 24 | } 25 | .logo{ 26 | font-size: 20px; 27 | font-weight: bolder; 28 | margin-left: 28px; 29 | } 30 | .searchBar{ 31 | flex-grow: 0.4; 32 | padding: 10px; 33 | margin-left: 25px; 34 | border-radius: 18px; 35 | border: 1px solid grey; 36 | } 37 | .owl-carousel{ 38 | position: relative; 39 | } 40 | .owl-nav{ 41 | position: absolute; 42 | top:50%; 43 | width:100%; 44 | display: flex; 45 | justify-content: space-between; 46 | transform: translateY(-50%); 47 | z-index: 1000; 48 | 49 | } 50 | .owl-prev, .owl-next{ 51 | background-color: black; 52 | padding: 60px; 53 | cursor: pointer; 54 | border: none; 55 | position: absolute; 56 | z-index: 1010; 57 | color: white; 58 | top: 50%; 59 | transform: translateY(-50%); 60 | height: 60px; 61 | width: 50px; 62 | } 63 | .owl-item{ 64 | position: relative; 65 | 66 | } 67 | .owl-prev{ 68 | 69 | left: 10px; 70 | } 71 | .owl-next{ 72 | 73 | right: 10px; 74 | } 75 | .owl-carousel img{ 76 | max-width: 100%; 77 | height: auto; 78 | display: block; 79 | } 80 | .navItem{ 81 | margin: 22px; 82 | font-size: 16px; 83 | position: relative; 84 | margin-bottom: 30px; 85 | } 86 | .navItem a { 87 | color: #333; 88 | text-decoration: none; 89 | transition: color 0.3s ease, border-bottom 0.3s ease; 90 | } 91 | 92 | .navItem:hover a { 93 | color: #080808; 94 | border-bottom: 2px solid #080808; 95 | } 96 | 97 | .mainNav{ 98 | background-color: black; 99 | color: white; 100 | } 101 | .mainNav ul { 102 | list-style : none; 103 | padding : 0; 104 | margin : 0; 105 | display: flex; 106 | 107 | } 108 | .mainNav ul li { 109 | padding : 15px; 110 | margin-left: 10px; 111 | margin-right: 10px; 112 | } 113 | .mainNav ul li a { 114 | text-decoration : none; 115 | color: inherit; 116 | 117 | } 118 | .item-row{ 119 | display: flex; 120 | flex-direction: column; 121 | justify-content: center; 122 | align-items: center; 123 | } 124 | #Choosen-sec{ 125 | margin-right: 1100px; 126 | margin-top: 30px; 127 | font-size: 20px; 128 | } 129 | .quick-look{ 130 | display: flex; 131 | flex-direction : column; 132 | 133 | width: 300px; 134 | padding: 15px; 135 | border: 1px solid black; 136 | border-radius: 8px; 137 | 138 | } 139 | .item{ 140 | background-color: black; 141 | margin-left: 12px; 142 | height: 450px; 143 | } 144 | .item img{ 145 | height: 70%; 146 | width:100%; 147 | margin-top: 15px; 148 | 149 | } 150 | .item p, .item h3:hover{ 151 | text-decoration: underline; 152 | 153 | } 154 | .item > h3, .item p{ 155 | margin-left: 20px; 156 | color: white; 157 | margin-top: 8px; 158 | text-decoration: none; 159 | } 160 | 161 | .third_box{ 162 | display: grid; 163 | grid-template-columns: repeat(3, 1fr); 164 | justify-content: space-between; 165 | padding: 15px; 166 | margin: 10px; 167 | height: auto; 168 | } 169 | .third_parent1{ 170 | 171 | margin: 10px; 172 | background-color: #502284 ; 173 | color: white; 174 | 175 | 176 | } 177 | .third_parent2{ 178 | 179 | margin: 7px; 180 | background-color: #5DB7B5; 181 | color: black; 182 | 183 | } 184 | .third_parent3{ 185 | 186 | margin: 8px; 187 | background-color: #558FCD; 188 | color: white; 189 | 190 | } 191 | .third_parent1 > img{ 192 | height: 65%; 193 | width: 100%; 194 | 195 | 196 | } 197 | .third_parent2 > img{ 198 | height: 65%; 199 | width: 100%; 200 | 201 | 202 | } 203 | .third_parent3 > img{ 204 | height: 65%; 205 | width: 100%; 206 | 207 | 208 | } 209 | 210 | .third_box2{ 211 | display: grid; 212 | grid-template-columns: repeat(3, 1fr); 213 | justify-content: space-between; 214 | padding: 15px; 215 | margin: 10px; 216 | height: auto; 217 | } 218 | .third_parent4{ 219 | 220 | margin: 10px; 221 | background-color: #F2F2F2 ; 222 | color: black; 223 | 224 | } 225 | .third_parent5{ 226 | 227 | margin: 7px; 228 | background-color: #BDDCEE; 229 | color: black; 230 | 231 | } 232 | .third_parent6{ 233 | 234 | margin: 8px; 235 | background-color:#F28280; 236 | color: black; 237 | 238 | } 239 | .third_parent4 > img{ 240 | height: 65%; 241 | width: 100%; 242 | 243 | 244 | } 245 | .third_parent5 > img{ 246 | height: 65%; 247 | width: 100%; 248 | 249 | 250 | } 251 | .third_parent6 > img{ 252 | height: 65%; 253 | width: 100%; 254 | 255 | 256 | } 257 | #head_id{ 258 | padding-left: 15px; 259 | } 260 | .mainParent{ 261 | display: grid; 262 | grid-template-columns: auto 1fr; 263 | margin-top: 50px; 264 | margin-bottom: 25px; 265 | 266 | 267 | } 268 | .parentOne{ 269 | font-size: 15px; 270 | white-space: nowrap; 271 | margin-left: 13px; 272 | margin-bottom: 60px; 273 | margin-top: 5px; 274 | } 275 | .parentOne > h2, 276 | .parentOne > p{ 277 | margin-left: 15px; 278 | transform: margin 0.5s; 279 | } 280 | .parentOne > .childBox { 281 | margin-top: -5px; 282 | } 283 | .parentBox{ 284 | display : grid; 285 | grid-template-columns: repeat(8, 1fr); 286 | margin-left: 30px; 287 | padding: 5px; 288 | padding-bottom: 30px; 289 | gap: 1px; 290 | } 291 | .childBox{ 292 | width: 111px; 293 | height : 130px; 294 | border-radius: 8px; 295 | margin-left: 3px; 296 | margin-top: 12px; 297 | box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; 298 | gap: 2px; 299 | } 300 | .childBox > p{ 301 | margin-left: 5px; 302 | margin-top: 7px; 303 | } 304 | .childBox > img{ 305 | margin-top: 16px; 306 | margin-left: 50px; 307 | } 308 | #second_head{ 309 | letter-spacing: em; 310 | word-spacing: 0.-7em; 311 | } 312 | .childBox:hover { 313 | transform: translateY(-5px); 314 | } 315 | .container{ 316 | max-width: 1200px; 317 | 318 | 319 | margin: auto; 320 | } 321 | .row{ 322 | display: flex; 323 | flex-wrap: wrap; 324 | } 325 | 326 | ul{ 327 | list-style: none; 328 | } 329 | .footer{ 330 | background-color: black; 331 | color: white; 332 | padding: 20px 0; 333 | margin-top: 30px; 334 | 335 | } 336 | .footer_col{ 337 | width: 19%; 338 | padding: 5px; 339 | line-height: 1.7; 340 | 341 | } 342 | .footer_col h4{ 343 | font-size: 18px; 344 | color: #ffffff; 345 | text-transform: capitalize; 346 | margin-bottom: 4px; 347 | font-weight: 600; 348 | position: relative; 349 | margin-left: 40px; 350 | 351 | } 352 | 353 | .footer_col ul li a{ 354 | font-size: 15px; 355 | text-transform: capitalize; 356 | color: white; 357 | text-decoration: none; 358 | font-weight: 150; 359 | display: block; 360 | transition: all 0.3s ease; 361 | } 362 | .logo_footer{ 363 | height: 16px; 364 | 365 | } 366 | .footer_col ul li a:hover{ 367 | color: white; 368 | text-decoration: underline; 369 | 370 | } 371 | .footer_col1 h2{ 372 | font-size: 20px; 373 | font-weight: 500; 374 | } 375 | .footer_down{ 376 | display: flex; 377 | margin-top: 6px; 378 | } 379 | .footer_down1{ 380 | font-size: 14px; 381 | } 382 | .footer_down1 p{ 383 | margin-top: 10px; 384 | } 385 | .footer_down1 p, .footer_down1 span:hover{ 386 | text-decoration: underline; 387 | 388 | } 389 | .footer_down_social{ 390 | margin-left: 380px; 391 | font-size: 25px; 392 | margin-top: 10px; 393 | 394 | } 395 | .footer_down_social a{ 396 | color: white; 397 | padding-left: 15px; 398 | } 399 | .footer_form{ 400 | margin-top: 120px; 401 | } 402 | .form-input{ 403 | height: 35px; 404 | width: 220px; 405 | text-align: center; 406 | border-radius: 6px; 407 | border: 0px; 408 | 409 | } 410 | .continue-btn{ 411 | height: 30px; 412 | width: 100px; 413 | 414 | } 415 | .form-container { 416 | text-align: center; 417 | margin-top: 110px; 418 | } 419 | 420 | .form-input { 421 | height: 30px; 422 | width: 200px; 423 | margin-bottom: 10px; 424 | } 425 | 426 | .continue-btn { 427 | padding-bottom: 10px 20px 10px 10px; 428 | 429 | font-size: 17px; 430 | background-color: black; 431 | color: white; 432 | border: none; 433 | cursor: pointer; 434 | margin-top: 27px; 435 | border-radius: 10px; 436 | border: 1px solid white; 437 | 438 | 439 | } 440 | 441 | 442 | .form { 443 | display: flex; 444 | align-items: center; 445 | justify-content: center; 446 | } 447 | 448 | .form > div { 449 | margin-right: 10px; 450 | } 451 | .footer_upper1{ 452 | margin-left: 160px; 453 | margin-bottom: 20px; 454 | } 455 | .footer_upper span:hover{ 456 | text-decoration: underline; 457 | } 458 | .footer_upper1 span:hover{ 459 | text-decoration: underline; 460 | } 461 | .footer_col1{ 462 | margin-left: 30px; 463 | } 464 | .footer_promo{ 465 | height: 30px; 466 | background-color: grey; 467 | color: black; 468 | 469 | text-align: center; 470 | } 471 | .footer_promo p{ 472 | font-size: 16px; 473 | padding-top: 5px; 474 | } 475 | .main_chosen{ 476 | height: auto; 477 | width: 100%; 478 | 479 | 480 | 481 | } 482 | #Chosen_heading{ 483 | margin-left: 55px; 484 | font-size: 22px; 485 | margin-top: -20; 486 | } 487 | .chosen_box{ 488 | height: 280px; 489 | width: 95%; 490 | 491 | 492 | margin: 20px 0; 493 | margin-left: 30px; 494 | display: grid; 495 | grid-template-columns: repeat(6, 1fr); 496 | 497 | 498 | } 499 | .box_chosenSec{ 500 | height:270px; 501 | margin-left: 20px; 502 | box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; 503 | overflow: hidden; 504 | position: relative; 505 | transition: margin-top 0.3s ease; 506 | border-radius: 5px; 507 | 508 | } 509 | .box_chosenSec:hover{ 510 | margin-top: 10px; 511 | 512 | } 513 | .box_chosenSec img{ 514 | height: 60%; 515 | margin-top: 10px; 516 | } 517 | .box_chosenSec p{ 518 | margin-left: 12px; 519 | margin-top: 15px; 520 | line-height: 0.5; 521 | } 522 | .quick-look{ 523 | position: absolute; 524 | top: 40%; 525 | left: 9%; 526 | background-color: grey; 527 | color: white; 528 | width: 65%; 529 | height: 3%; 530 | display: flex; 531 | flex-direction: column; 532 | justify-content: center; 533 | align-items: center; 534 | opacity: 0; 535 | transition: opacity 0.3s ease; 536 | border-radius: 8px; 537 | border: 1px solid grey; 538 | } 539 | .box_chosenSec:hover .quick-look{ 540 | opacity: 1; 541 | } 542 | .beauty_offers{ 543 | height: auto; 544 | width: auto; 545 | 546 | 547 | } 548 | .beauty_box{ 549 | height: auto; 550 | width: auto; 551 | 552 | margin-left: 50px; 553 | margin-bottom: 20px; 554 | display: grid; 555 | grid-template-columns: repeat(5, 240px); 556 | gap: 10px; 557 | } 558 | .beauty_sect{ 559 | 560 | border-radius: 5px; 561 | box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; 562 | 563 | } 564 | .beauty_offers h3{ 565 | margin-left: 52px; 566 | font-size: 22px; 567 | } 568 | .beauty_sect img{ 569 | width: 100%; 570 | } 571 | .beauty_sect p{ 572 | margin-left: 8px; 573 | line-height: 1.3; 574 | font-size: 14px; 575 | line-break: auto; 576 | text-transform: capitalize; 577 | 578 | } 579 | #subSec_offers{ 580 | color: grey 581 | } 582 | .beauty_sect button{ 583 | margin-bottom: 10px; 584 | margin-left: 10px; 585 | border-radius: 12px; 586 | border: 2px solid black; 587 | text-align: center; 588 | width: 110px; 589 | height: 30px; 590 | } 591 | #details_btn{ 592 | margin-left: 20px; 593 | color: blue; 594 | } 595 | .beauty_sect:hover{ 596 | margin-top: 3px; 597 | } 598 | 599 | .main_chosen1{ 600 | height: auto; 601 | width: 100%; 602 | 603 | 604 | 605 | } 606 | #Chosen_heading2{ 607 | margin-left: 55px; 608 | font-size: 22px; 609 | margin-top: -20; 610 | } 611 | .chosen_box1{ 612 | height: 280px; 613 | width: 95%; 614 | 615 | 616 | margin: 20px 0; 617 | margin-left: 30px; 618 | display: grid; 619 | grid-template-columns: repeat(6, 1fr); 620 | 621 | 622 | } 623 | .box_chosenSec1{ 624 | height:360px; 625 | margin-left: 20px; 626 | box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; 627 | overflow: hidden; 628 | position: relative; 629 | transition: margin-top 0.3s ease; 630 | border-radius: 5px; 631 | 632 | } 633 | .box_chosenSec1:hover{ 634 | margin-top: 10px; 635 | 636 | } 637 | .box_chosenSec1 img{ 638 | height: 50%; 639 | margin-top: 10px; 640 | } 641 | .box_chosenSec1 p{ 642 | margin-left: 12px; 643 | margin-top: 15px; 644 | line-height: 0.5; 645 | } 646 | 647 | .box_chosenSec1:hover .quick-look{ 648 | opacity: 1; 649 | } 650 | .box_chosenSec1 button{ 651 | margin-bottom: 10px; 652 | margin-left: 10px; 653 | border-radius: 12px; 654 | border: 2px solid black; 655 | text-align: center; 656 | width: 130px; 657 | height: 30px; 658 | margin-top: 17px; 659 | } 660 | #Chosen_heading1{ 661 | margin-left: 55px; 662 | margin-top: -20; 663 | } 664 | 665 | 666 | 667 | 668 | 669 | 670 | -------------------------------------------------------------------------------- /Skincare/Skincaredb.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id":1, 4 | "Category":"New", 5 | "company": "The Ordinary", 6 | "Image":"https://www.sephora.com/productimages/sku/s2031375-main-zoom.jpg?pb=2020-03-allure-best-2019&imwidth=175", 7 | "Product":"Hyaluronic Acid 2% + B5 Hydrating Serum", 8 | "Rating":4.1, 9 | "Rating_count":"5.2k", 10 | "Price":8.90, 11 | "Gender":"Female", 12 | "Product_For":"Face", 13 | "Skin_Type":"Dry", 14 | "Product_Type":"Moiturizer" 15 | }, 16 | { 17 | "id":2, 18 | "Category":"New", 19 | "company": "Glow Recipe", 20 | "Image":"https://www.sephora.com/productimages/sku/s2348431-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 21 | "Product":"Watermelon Glow PHA + BHA Pore-Tight Toner", 22 | "Rating":3.9, 23 | "Rating_count":"5.5k", 24 | "Price":16.00, 25 | "Gender":"Female", 26 | "Product_For":"Face", 27 | "Skin_Type":"Dry", 28 | "Product_Type":"Moiturizer" 29 | }, 30 | { 31 | "id":3, 32 | "Category":"New", 33 | "company": "The Ordinary", 34 | "Image":"https://www.sephora.com/productimages/sku/s2031391-main-zoom.jpg?imwidth=175", 35 | "Product":"Niacinamide 10% + Zink 1% Oil Control Serum", 36 | "Rating":4, 37 | "Rating_count":"7k", 38 | "Price":6.00, 39 | "Gender":"Female", 40 | "Product_For":"Skin", 41 | "Skin_Type":"Dry", 42 | "Product_Type":"Moiturizer" 43 | }, 44 | { 45 | "id":4, 46 | "Category":"New", 47 | "company": "LANEIGE", 48 | "Image":"https://www.sephora.com/productimages/sku/s1966258-main-zoom.jpg?imwidth=175", 49 | "Product":"Lip Sleeping Mask Intense Hydration with Vitamin C", 50 | "Rating":4.1, 51 | "Rating_count":"17.3k", 52 | "Price":24.00, 53 | "Gender":"Female", 54 | "Product_For":"Lip", 55 | "Skin_Type":"Both", 56 | "Product_Type":"Moiturizer" 57 | }, 58 | { 59 | "id":5, 60 | "Category":"New", 61 | "company": "Touchland", 62 | "Image":"https://www.sephora.com/productimages/sku/s2556744-main-zoom.jpg?pb=allure-2022-bestofbeauty-badge&imwidth=175", 63 | "Product":"Power Mist Hydrating Hand Sanitizer", 64 | "Rating":4.2, 65 | "Rating_count":"665", 66 | "Price":10.00, 67 | "Gender":"Female", 68 | "Product_For":"Skin", 69 | "Skin_Type":"Both", 70 | "Product_Type":"Moiturizer" 71 | }, 72 | { 73 | "id":6, 74 | "Category":"New", 75 | "company": "Glow Recipe", 76 | "Image":"https://www.sephora.com/productimages/sku/s2404846-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 77 | "Product":"Watermelon Glow Niacinamide Dew Drops Serum", 78 | "Rating":3.8, 79 | "Rating_count":"3.8k", 80 | "Price":20.00, 81 | "Gender":"Male", 82 | "Product_For":"Skin", 83 | "Skin_Type":"Oily", 84 | "Product_Type":"Moiturizer" 85 | }, 86 | { 87 | "id":7, 88 | "Category":"New", 89 | "company": "Drunk Elephant", 90 | "Image":"https://www.sephora.com/productimages/sku/s2025633-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 91 | "Product":"Protini Polypeptide Firming Refillable", 92 | "Rating":4.1, 93 | "Rating_count":"7.3k", 94 | "Price":22.00, 95 | "Gender":"Male", 96 | "Product_For":"Skin", 97 | "Skin_Type":"Both", 98 | "Product_Type":"Moiturizer" 99 | }, 100 | { 101 | "id":8, 102 | "Category":"New", 103 | "company": "Glow Recip", 104 | "Image":"https://www.sephora.com/productimages/sku/s2421519-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 105 | "Product":"Mini Watermelon Glow PHA + BHA pore-Tight Toner", 106 | "Rating":4, 107 | "Rating_count":"5.5k", 108 | "Price":16.00, 109 | "Gender":"Female", 110 | "Product_For":"Skin", 111 | "Skin_Type":"Oily", 112 | "Product_Type":"Moiturizer" 113 | }, 114 | { 115 | "id":9, 116 | "Category":"New", 117 | "company": "The Ordinary", 118 | "Image":"https://www.sephora.com/productimages/sku/s2210581-main-zoom.jpg?imwidth=175", 119 | "Product":"Natural Moisturizing Factors + HA", 120 | "Rating":4.1, 121 | "Rating_count":"2.3k", 122 | "Price":6.90, 123 | "Gender":"Female", 124 | "Product_For":"Skin", 125 | "Skin_Type":"Both", 126 | "Product_Type":"Moiturizer" 127 | }, 128 | { 129 | "id":10, 130 | "Category":"New", 131 | "company": "Drunk Elephant", 132 | "Image":"https://www.sephora.com/productimages/sku/s2733939-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 133 | "Product":"Bore Barrier Rich Repair Cream with 6-Butterlipid Complex", 134 | "Rating":4.3, 135 | "Rating_count":"498", 136 | "Price":69.00, 137 | "Gender":"Female", 138 | "Product_For":"Skin", 139 | "Skin_Type":"Stragth/curly", 140 | "Product_Type":"Moiturizer" 141 | }, 142 | { 143 | "id":11, 144 | "Category":"New", 145 | "company": "Youth To The People", 146 | "Image":"https://www.sephora.com/productimages/sku/s1863588-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 147 | "Product":"Superfood Gentle Antioxidant Refilable Cleanser", 148 | "Rating":4, 149 | "Rating_count":"6.3k", 150 | "Price":16.00, 151 | "Gender":"Female", 152 | "Product_For":"Skin", 153 | "Skin_Type":"Both", 154 | "Product_Type":"Cleanser" 155 | }, 156 | { 157 | "id":12, 158 | "Category":"New", 159 | "company": "Gloe Recipe", 160 | "Image":"https://www.sephora.com/productimages/sku/s2131803-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 161 | "Product":"Blueberry Bounce Gntle Cleanser", 162 | "Rating":3.7, 163 | "Rating_count":"1.3k", 164 | "Price":10.00, 165 | "Gender":"Female", 166 | "Product_For":"Skin", 167 | "Skin_Type":"Oily", 168 | "Product_Type":"Cleanser" 169 | }, 170 | { 171 | "id":13, 172 | "Category":"New", 173 | "company": "Tatcha", 174 | "Image":"https://www.sephora.com/productimages/sku/s2382232-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 175 | "Product":"The rice Watch Skin-Softening Cleanser", 176 | "Rating":4.2, 177 | "Rating_count":"2.7k", 178 | "Price":18.00, 179 | "Gender":"Male", 180 | "Product_For":"Skin", 181 | "Skin_Type":"Dry", 182 | "Product_Type":"Cleanser" 183 | }, 184 | { 185 | "id":14, 186 | "Category":"Old", 187 | "company": "the INKEY List", 188 | "Image":"https://www.sephora.com/productimages/sku/s2211605-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 189 | "Product":"Salicylic Acid Acne + Blackhead Cleanser", 190 | "Rating":4.1, 191 | "Rating_count":"1.9k", 192 | "Price":13.00, 193 | "Gender":"Female", 194 | "Product_For":"Skin", 195 | "Skin_Type":"Both", 196 | "Product_Type":"Cleanser" 197 | }, 198 | { 199 | "id":15, 200 | "Category":"Old", 201 | "company": "Skinfix", 202 | "Image":"https://www.sephora.com/productimages/sku/s2215929-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 203 | "Product":"Barrier+ foaming Oil Hydrating Cleanser", 204 | "Rating":4.4, 205 | "Rating_count":"1.3k", 206 | "Price":30.00, 207 | "Gender":"Female", 208 | "Product_For":"Skin", 209 | "Skin_Type":"Dry", 210 | "Product_Type":"Cleanser" 211 | }, 212 | { 213 | "id":16, 214 | "Category":"Old", 215 | "company": "SEPHORA COLLECTION", 216 | "Image":"https://www.sephora.com/productimages/sku/s2457976-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 217 | "Product":"Clean skin gel Cleanser with Prebiotics", 218 | "Rating":4.4, 219 | "Rating_count":"533", 220 | "Price":12.00, 221 | "Gender":"Male", 222 | "Product_For":"Skin", 223 | "Skin_Type":"Both", 224 | "Product_Type":"Cleanser" 225 | }, 226 | {"id":17, 227 | "Category":"Old", 228 | "company": "SEPHORA COLLECTION", 229 | "Image":"https://www.sephora.com/productimages/sku/s2558542-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 230 | "Product":"Cleansing + Exfoliating Wipes", 231 | "Rating":4, 232 | "Rating_count":"505", 233 | "Price":3.90, 234 | "Gender":"Male", 235 | "Product_For":"Skin", 236 | "Skin_Type":"Dry", 237 | "Product_Type":"Cleanser" 238 | }, 239 | { 240 | "id":18, 241 | "Category":"Old", 242 | "company": "Fresh", 243 | "Image":"https://www.sephora.com/productimages/sku/s2534675-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 244 | "Product":"Soy Hydrating Gentle Face Cleanser", 245 | "Rating":4.1, 246 | "Rating_count":"8.3k", 247 | "Price":16.00, 248 | "Gender":"Male", 249 | "Product_For":"Skin", 250 | "Skin_Type":"Dry", 251 | "Product_Type":"Cleanser" 252 | }, 253 | { 254 | "id":19, 255 | "Category":"Old", 256 | "company": "Drunk Elephant", 257 | "Image":"https://www.sephora.com/productimages/sku/s2022598-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 258 | "Product":"Beste No 9 Jelly Cleanser", 259 | "Rating":4, 260 | "Rating_count":"2.8k", 261 | "Price":16.00, 262 | "Gender":"Male", 263 | "Product_For":"Skin", 264 | "Skin_Type":"Oily", 265 | "Product_Type":"Cleanser" 266 | }, 267 | { 268 | "id":20, 269 | "Category":"Old", 270 | "company": "Tatcha", 271 | "Image":"https://www.sephora.com/productimages/sku/s2468916-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 272 | "Product":"the Deep Cleanse Gentle Exfoliating leanser", 273 | "Rating":4.1, 274 | "Rating_count":"2.3k", 275 | "Price":8.00, 276 | "Gender":"Male", 277 | "Product_For":"Skin", 278 | "Skin_Type":"Both", 279 | "Product_Type":"Cleanser" 280 | }, 281 | { 282 | "id":21, 283 | "Category":"Old", 284 | "company": "Glossier", 285 | "Image":"https://www.sephora.com/productimages/sku/s2649788-main-zoom.jpg?imwidth=175", 286 | "Product":"Balm Dotcom Lip Balm and Skin Salve", 287 | "Rating":3.1, 288 | "Rating_count":"2.8k", 289 | "Price":14.00, 290 | "Gender":"Male", 291 | "Product_For":"Lip", 292 | "Skin_Type":"Both", 293 | "Product_Type":"Lip Balm" 294 | }, 295 | { 296 | "id":22, 297 | "Category":"Old", 298 | "company": "Dior", 299 | "Image":"https://www.sephora.com/productimages/sku/s2316248-main-zoom.jpg?imwidth=175", 300 | "Product":"Lip glow oil", 301 | "Rating":4.0, 302 | "Rating_count":"2.1k", 303 | "Price":40.00, 304 | "Gender":"Male", 305 | "Product_For":"Lip", 306 | "Skin_Type":"Both", 307 | "Product_Type":"Lip Balm" 308 | }, 309 | { 310 | "id":23, 311 | "Category":"Old", 312 | "company": "Shiseido", 313 | "Image":"https://www.sephora.com/productimages/sku/s2435261-main-zoom.jpg?pb=allure-best-2021-badge&imwidth=175", 314 | "Product":"Clear Sunscream Stick SPF 50", 315 | "Rating":4.5, 316 | "Rating_count":"1.7k", 317 | "Price":32.00, 318 | "Gender":"Female", 319 | "Product_For":"Face", 320 | "Skin_Type":"Both", 321 | "Product_Type":"Sunscream" 322 | }, 323 | { 324 | "id":24, 325 | "Category":"Old", 326 | "company": "Summer Fridays", 327 | "Image":"https://www.sephora.com/productimages/sku/s2536308-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 328 | "Product":"ShadeDrops Mineral Milk Sunscreen Spf 30", 329 | "Rating":4.0, 330 | "Rating_count":"1.3k", 331 | "Price":36.00, 332 | "Gender":"Male", 333 | "Product_For":"Face", 334 | "Skin_Type":"Both", 335 | "Product_Type":"Sunscream" 336 | }, 337 | { 338 | "id":25, 339 | "Category":"Old", 340 | "company": "Supergoop!", 341 | "Image":"https://www.sephora.com/productimages/sku/s2549756-main-zoom.jpg?pb=2020-03-sephora-clean-2019&imwidth=175", 342 | "Product":"Mini GlowScreen SPF 40 With Hyaluronic Acid + Niacinamide", 343 | "Rating":4, 344 | "Rating_count":"2.0k", 345 | "Price":22.00, 346 | "Gender":"Male", 347 | "Product_For":"Face", 348 | "Skin_Type":"Both", 349 | "Product_Type":"Sunscream" 350 | }, 351 | { 352 | "id":26, 353 | "Category":"Old", 354 | "company": "Glow Recipe", 355 | "Image":"https://www.sephora.com/productimages/sku/s2421519-main-zoom.jpg?pb=clean-planet-positive-badge-2021&imwidth=175", 356 | "Product":"Mini Watermelon Glow PHA+ BHA Pore-tight Toner", 357 | "Rating":4, 358 | "Rating_count":"5.6k", 359 | "Price":16.00, 360 | "Gender":"Female", 361 | "Product_For":"Face", 362 | "Skin_Type":"Dry", 363 | "Product_Type":"Moiturizer" 364 | } 365 | ] -------------------------------------------------------------------------------- /Tools&Brushes/Tools&Brushes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Makeup 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 |
32 |

Get 50% off** Top Skincare Brands!  New Deals Everyday through 1/17. **Terms Apply. SHOP NOW

33 |
34 | 35 | 36 | 37 | 49 | 50 | 51 | 52 | 53 | 54 | 69 | 70 | 71 |
72 |
73 |

Tools & Brushes

74 | 75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 |

Filter

94 | 95 | 102 |

103 | 104 | 105 | 106 | 113 |

114 | 115 | 116 | 117 | 118 | 126 |

127 |
128 | 129 |
130 | 131 |
132 |
135 |
136 |
139 |
140 |
143 |
144 |
147 |
148 |
151 |
152 |
155 |
156 |
159 |
160 |
163 | 164 | 165 | 166 | 167 |
168 |
169 | 170 | 173 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | -------------------------------------------------------------------------------- /Hair/Hair.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Hair 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 | 32 | 33 |
34 |

Get 50% off** Top Skincare Brands!  New Deals Everyday through 1/17. **Terms Apply. SHOP NOW

35 |
36 | 37 | 38 | 39 | 51 | 52 | 53 | 54 | 55 | 56 | 71 | 72 | 73 |
74 |
75 |

Hair

76 | 77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 |

Filters

99 | 100 | 107 |

108 | 109 | 110 | 111 | 118 |

119 | 120 | 121 | 122 | 123 | 131 |

132 |
133 | 134 |
135 | 136 |
137 |
140 |
141 |
144 |
145 |
148 |
149 |
152 |
153 |
156 |
157 |
160 |
161 |
164 |
165 |
168 | 169 | 170 | 171 | 172 |
173 |
174 | 175 | 178 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | -------------------------------------------------------------------------------- /Makeup/Makeup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Makeup 7 | 8 | 9 | 10 | 11 | 12 | 13 | 30 | 31 |
32 |

Get 50% off** Top Skincare Brands!  New Deals Everyday through 1/17. **Terms Apply. SHOP NOW

33 |
34 | 35 | 36 | 37 | 49 | 50 | 51 | 52 | 53 | 54 | 69 | 70 | 71 |
72 |
73 |

Makeup

74 | 75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 |

Filter

99 | 100 | 107 |

108 | 109 | 110 | 111 | 118 |

119 | 120 | 121 | 122 | 123 | 131 |

132 |
133 | 134 |
135 | 136 |
137 |
140 |
141 |
144 |
145 |
148 |
149 |
152 |
153 |
156 |
157 |
160 |
161 |
164 |
165 |
168 | 169 | 170 | 171 | 172 |
173 |
174 | 175 | 178 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | --------------------------------------------------------------------------------