From 8cea847140a00620fa2a5eeed8ad25fe5f349343 Mon Sep 17 00:00:00 2001 From: Arunima Dutta Date: Tue, 6 Aug 2024 14:44:49 +0530 Subject: [PATCH 01/19] Added Login/signup page --- frontend/src/App.js | 5 +- frontend/src/Component/Login.css | 47 +++++++++++++++++ frontend/src/Component/Login.js | 41 +++++++++++++++ frontend/src/Component/Navbar/NavbarCenter.js | 22 ++++++++ frontend/src/Component/Register.css | 47 +++++++++++++++++ frontend/src/Component/Register.js | 52 +++++++++++++++++++ 6 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 frontend/src/Component/Login.css create mode 100644 frontend/src/Component/Login.js create mode 100644 frontend/src/Component/Register.css create mode 100644 frontend/src/Component/Register.js diff --git a/frontend/src/App.js b/frontend/src/App.js index 5f87e24e..6511170a 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -30,7 +30,8 @@ import CodingPlatform from "./pages/CodingPlatform"; // Corrected import import CoursesPlatform from "./pages/CoursesPlatform"; import Collaboration from "./pages/Collaboration"; import TrailingCursor from "./Component/TrailingCursor/TrailingCursor"; - +import Login from "./Component/Login"; +import Register from "./Component/Register"; function App() { const [searchQuery, setSearchQuery] = useState(""); useEffect(() => { @@ -60,6 +61,8 @@ function App() { } /> } /> } /> + } /> {/* New Route */} + } /> {/* New Route */} {/* Define other routes as needed */} } /> {/* 404 route */} diff --git a/frontend/src/Component/Login.css b/frontend/src/Component/Login.css new file mode 100644 index 00000000..314e218a --- /dev/null +++ b/frontend/src/Component/Login.css @@ -0,0 +1,47 @@ +/* src/Component/Login.css */ +.login-container { + display: flex; + flex-direction: column; + align-items: center; + padding: 20px; + max-width: 400px; + margin: auto; + border: 1px solid #ddd; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + background-color: #fff; + } + + h2 { + font-size: 24px; + margin-bottom: 20px; + } + + form { + display: flex; + flex-direction: column; + width: 100%; + } + + input { + padding: 10px; + margin-bottom: 15px; + border: 1px solid #ccc; + border-radius: 4px; + font-size: 16px; + } + + button { + padding: 10px; + font-size: 16px; + color: #fff; + background-color: #007bff; + border: none; + border-radius: 4px; + cursor: pointer; + } + + button:hover { + background-color: #0056b3; + } + \ No newline at end of file diff --git a/frontend/src/Component/Login.js b/frontend/src/Component/Login.js new file mode 100644 index 00000000..fa5fe2c9 --- /dev/null +++ b/frontend/src/Component/Login.js @@ -0,0 +1,41 @@ +import React, { useState } from 'react'; +import { useNavigate } from 'react-router-dom'; +import './Login.css'; // Add your own styles + +const Login = () => { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const navigate = useNavigate(); + + const handleLogin = async (e) => { + e.preventDefault(); + // Add your authentication logic here + // For example, send a request to your backend + console.log('Login:', { email, password }); + // On success, navigate to the home page or user profile + navigate('/'); + }; + + return ( +
+

Login

+
+ setEmail(e.target.value)} + /> + setPassword(e.target.value)} + /> + +
+
+ ); +}; + +export default Login; diff --git a/frontend/src/Component/Navbar/NavbarCenter.js b/frontend/src/Component/Navbar/NavbarCenter.js index e7c2b027..69b08f33 100644 --- a/frontend/src/Component/Navbar/NavbarCenter.js +++ b/frontend/src/Component/Navbar/NavbarCenter.js @@ -90,6 +90,8 @@ function NavbarCenter() { } to="#" /> + +
  • +
  • + + Login + + } + to="/Login" + /> +
  • +
  • + + Register + + } + to="/Register" + /> +
  • { + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [confirmPassword, setConfirmPassword] = useState(''); + const navigate = useNavigate(); + + const handleRegister = async (e) => { + e.preventDefault(); + if (password !== confirmPassword) { + alert('Passwords do not match'); + return; + } + // Add your registration logic here + // For example, send a request to your backend + console.log('Register:', { email, password }); + // On success, navigate to the login page or home page + navigate('/login'); + }; + + return ( +
    +

    Register

    +
    + setEmail(e.target.value)} + /> + setPassword(e.target.value)} + /> + setConfirmPassword(e.target.value)} + /> + +
    +
    + ); +}; + +export default Register; From ed308cb7d233a9c445fa66199f4db4652d4d048f Mon Sep 17 00:00:00 2001 From: Vaibhav-kesarwani Date: Tue, 6 Aug 2024 15:16:36 +0530 Subject: [PATCH 02/19] Added TapAway --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index edbdad38..e892ce27 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -6041,5 +6041,12 @@ "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQQAdHkkDom-MEMMFXf_Dd8zTwPYqoB9hC_o-Jws3NOVnEYlWax", "link": "https://alison.com/", "description": "Free courses in various fields including IT, business, health, and languages." + }, + { + "productName": "TapAway", + "category": "App", + "image": "https://github.com/Vaibhav-kesarwani/TapAway-App/assets/116189379/26bc63a4-032a-49bb-acb1-8e770d65d51e", + "link": "https://github.com/Vaibhav-kesarwani/TapAway-App", + "description": "Tap Away is a life-saving mobile application designed to prioritize your safety during emergencies and natural calamities. By registering on the app, users gain immediate access to crucial services that can make a difference in critical situations." } ] From b096999378f8ee6e4edbbcc7d4cd5b467214abb1 Mon Sep 17 00:00:00 2001 From: Anurag Vishwakarma Date: Tue, 6 Aug 2024 19:28:37 +0530 Subject: [PATCH 03/19] Added courses tool (Great Learning). --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index edbdad38..d68e5750 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -1104,6 +1104,13 @@ "link": "https://www.coursera.org/", "description": "Coursera is an online learning platform featuring courses, degrees, certificate programs, and tutorials in a wide range of subjects." }, + { + "productName": "Great Learning", + "category": "courses", + "image": "https://yt3.googleusercontent.com/ytc/AIdro_m_o6r4liwONXrrjZ2v2ZJ_WlaYXZQF9lrOy3J_aBAWeCU=s900-c-k-c0x00ffffff-no-rj", + "link": "https://www.mygreatlearning.com/", + "description": "Great Learning is an online learning platform featuring courses, certificate programs, and tutorials in a wide range of subjects including coding, management, etc." + }, { "productName": "OpenRead", "category": "tools", From a055f9e69b30eb3a5d9f584ecdeb1d70aaf50e56 Mon Sep 17 00:00:00 2001 From: AmruthaPariprolu Date: Wed, 7 Aug 2024 15:06:17 +0530 Subject: [PATCH 04/19] added --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 26ca8d80..fde1da02 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -5964,5 +5964,12 @@ "image": "https://github.com/user-attachments/assets/346f645b-78b4-428a-8c40-d5aab174a397", "link": "https://www.edenai.co/post/best-generative-ai-apis", "description": "Eden AI is a platform that allows you to create your own generative AI tools." + }, + { + "productName": "SmartResume", + "category": "resume", + "image": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQJoEIBCRbxwu_onaiHcm2UPjPA-HGB3rjS6A2vN18cubN_Yg1Y", + "link": "https://www.smartresume.com/", + "description": " Offers modern and intuitive resume templates with an easy-to-use design interface." } ] From 1efee98eda3cc9307260e54ab8e97fa92201dfa4 Mon Sep 17 00:00:00 2001 From: Dev Date: Wed, 7 Aug 2024 17:25:02 +0530 Subject: [PATCH 05/19] validation added --- frontend/src/Component/Home.js | 424 +++++++++++++++--------------- frontend/src/Component/Profile.js | 92 ++++--- frontend/src/Component/Signup.js | 12 +- 3 files changed, 272 insertions(+), 256 deletions(-) diff --git a/frontend/src/Component/Home.js b/frontend/src/Component/Home.js index efea19fc..ca5589b2 100644 --- a/frontend/src/Component/Home.js +++ b/frontend/src/Component/Home.js @@ -1,19 +1,17 @@ import axios from "axios"; -import React, { useEffect, useState, useRef } from "react"; +import debounce from "lodash.debounce"; +import React, { useEffect, useRef, useState } from "react"; +import toast from "react-hot-toast"; +import Skeleton, { SkeletonTheme } from "react-loading-skeleton"; +import "react-loading-skeleton/dist/skeleton.css"; +import Tilt from "react-parallax-tilt"; import { useDispatch } from "react-redux"; -import ClipLoader from "react-spinners/ClipLoader"; import jsonTools from "../DB/product.json"; +import Devlabs from "../image/hero_img.svg"; +import Testimonials from "../pages/Testimonials"; import { deleteSource, setSource } from "../Slice/DataSlice"; import "../style/Home.css"; -import Devlabs from "../image/hero_img.svg"; import NavbarItem from "./Navbar/NavbarItem"; -import toast from "react-hot-toast"; -import NavbarRight from "./Navbar/NavbarRight"; -import Tilt from "react-parallax-tilt"; -import Skeleton, { SkeletonTheme } from "react-loading-skeleton"; -import "react-loading-skeleton/dist/skeleton.css"; -import debounce from "lodash.debounce"; -import Testimonials from "../pages/Testimonials"; const BACKEND = process.env.REACT_APP_BACKEND; @@ -308,225 +306,227 @@ function Home(props) {
    -
    - - +
    + + +
    +
    +
    + + devlabs-removebg-preview +
    -
    -
    - - devlabs-removebg-preview -
    - -
    -

    Lets Get, What You seek!

    - {/* */} -
    - handleSearch(e.target.value)} - type="text" - placeholder="Search Tools ..." - /> -
    -
    - {searchQuery && searchResults.length === 0 && ( -
    - - empty_state_img - - empty_state_img - -

    No matching tools found.

    -
    - )} - {!loading && currentPost.length === 0 && ( -
    - no post +

    Lets Get, What You seek!

    + {/* */} +
    + handleSearch(e.target.value)} + type="text" + placeholder="Search Tools ..." /> -

    No posts found.

    -
    - )} - -
    -
    - {filters.map((category) => ( - - ))}
    -
    - {loading && ( -
    -
    - - - -
    -
    - - - -
    -
    - - - -
    -
    - - - -
    -
    - - - -
    -
    - )} +
    + {searchQuery && searchResults.length === 0 && ( +
    + + empty_state_img + + empty_state_img - {!loading && - filteredItems - .filter((item) => { - return searchQuery.toLowerCase() === "" - ? item - : item.productName.toLowerCase().includes(searchQuery); - }) - .slice(firstPostIndex, lastPostIndex) - .map((datalist) => { - filterdata.push(datalist); - return ( -
    - {datalist.category} -

    {datalist.productName}

    -

    {datalist.description}

    -
    + )} + {!loading && currentPost.length === 0 && ( +
    + no post +

    No posts found.

    +
    + )} + +
    +
    + {filters.map((category) => ( + + ))} +
    +
    + {loading && ( +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + )} + + {!loading && + filteredItems + .filter((item) => { + return searchQuery.toLowerCase() === "" + ? item + : item.productName.toLowerCase().includes(searchQuery); + }) + .slice(firstPostIndex, lastPostIndex) + .map((datalist) => { + filterdata.push(datalist); + return ( +
    - Link - - {bookmarks?.some((item) => - item.name.includes(datalist.productName) - ) ? ( - <> - - - ) : ( + {datalist.category} +

    {datalist.productName}

    +

    {datalist.description}

    - )} -
    - ); - })} -
    - {filterdata.length > 0 && ( -
    -
      -
      -
    • - - < - -
    • -
      -
      - {numbers.map((n, i) => { - // Calculate range of visible page numbers around current page - const start = Math.max(1, currentPage - 4); // Show 4 pages before current page - const end = Math.min(npage, start + 8); // Show 8 pages in total - - // Show ellipsis if start is greater than 1 - if (start > 1 && i === 1) { - return ( -
    • - ... -
    • - ); - } - - // Show ellipsis if end is less than npage - if (end < npage && i === numbers.length - 1) { - return ( -
    • - ... -
    • - ); - } - - // Display the page number if within the visible range - if (n >= start && n <= end) { - return ( -
    • - changeCPage(n)}> - {n} - -
    • - ); - } - - return null; // Hide pages outside the visible range + {bookmarks?.some((item) => + item.name.includes(datalist.productName) + ) ? ( + <> + + + ) : ( + + )} +
      + ); })} -
    -
    -
  • - - > - -
  • -
    -
    - )} + {filterdata.length > 0 && ( +
    +
      +
      +
    • + + < + +
    • +
      +
      + {numbers.map((n, i) => { + // Calculate range of visible page numbers around current page + const start = Math.max(1, currentPage - 4); // Show 4 pages before current page + const end = Math.min(npage, start + 8); // Show 8 pages in total + + // Show ellipsis if start is greater than 1 + if (start > 1 && i === 1) { + return ( +
    • + ... +
    • + ); + } + + // Show ellipsis if end is less than npage + if (end < npage && i === numbers.length - 1) { + return ( +
    • + ... +
    • + ); + } + + // Display the page number if within the visible range + if (n >= start && n <= end) { + return ( +
    • + changeCPage(n)}> + {n} + +
    • + ); + } + + return null; // Hide pages outside the visible range + })} +
      +
      +
    • + + > + +
    • +
      +
    +
    + )} +
    +
    -
    + ); } diff --git a/frontend/src/Component/Profile.js b/frontend/src/Component/Profile.js index 724e4c30..fee0c31d 100644 --- a/frontend/src/Component/Profile.js +++ b/frontend/src/Component/Profile.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import React, { useEffect, useState } from "react"; import "../style/Profile.css"; function Profile() { @@ -23,6 +23,7 @@ function Profile() { name: "" }); const [error, setError] = useState(""); + const [passwordError, setPasswordError] = useState(""); useEffect(() => { const savedData = localStorage.getItem("profileData"); @@ -67,8 +68,13 @@ function Profile() { const handleAuthSubmit = (e) => { e.preventDefault(); if (formData.email && formData.password) { - localStorage.setItem("isLoggedIn", "true"); - setIsLoggedIn(true); + if (validatePassword(formData.password)) { + localStorage.setItem("isLoggedIn", "true"); + setIsLoggedIn(true); + setError(""); // Clear any previous errors + } else { + setPasswordError("Password must be a valid hexadecimal string with at least 6 characters."); + } } else { setError("Please fill out all fields."); } @@ -85,6 +91,14 @@ function Profile() { setError(""); }; + const [password, setPassword] = useState(""); + + const validatePassword = (password) => { + const Pattern = /^[0-9a-fA-F]+$/; + return Pattern.test(password) && password.length >= 6; + } + + if (!isLoggedIn) { return showLogin ? (
    @@ -112,6 +126,7 @@ function Profile() { onChange={handleAuthChange} required /> + {passwordError &&

    {passwordError}

    }
    {error &&

    {error}

    } @@ -159,18 +174,19 @@ function Profile() { required />
    + {passwordError &&

    {passwordError}

    } {error &&

    {error}

    }
    - -
    + +

    By creating this account, you agree to our terms & conditions.

    @@ -185,40 +201,40 @@ function Profile() {

    -
    -
    -
    - {preview ? ( - Profile - ) : ( -
    - {profileData.name.charAt(0).toUpperCase()} -
    - )} +
    +
    +
    + {preview ? ( + Profile + ) : ( +
    + {profileData.name.charAt(0).toUpperCase()} +
    + )} +
    +
    +

    {profileData.name}

    -
    -

    {profileData.name}

    -
    -
    -
    -

    {profileData.bio}

    +
    +
    +

    {profileData.bio}

    Email: {profileData.email}

    {profileData.github && ( -

    GitHub: {profileData.github}

    - )} +

    GitHub: {profileData.github}

    + )} {profileData.website && ( -

    Website: {profileData.website}

    +

    Website: {profileData.website}

    )}
    +
    +
    + + +
    -
    - - -
    -
    - +
    ) : ( diff --git a/frontend/src/Component/Signup.js b/frontend/src/Component/Signup.js index 0d961293..4b85de2c 100644 --- a/frontend/src/Component/Signup.js +++ b/frontend/src/Component/Signup.js @@ -36,8 +36,8 @@ export default function Signup() {

    Signup

    - - Name: +
    - - Username: +
    - - Password: + Date: Wed, 7 Aug 2024 22:41:28 +0530 Subject: [PATCH 06/19] fixed_bookmark_box --- frontend/src/Component/Home.js | 2 +- frontend/src/Component/Navbar/NavbarCenter.js | 2 +- frontend/src/style/BookMark.css | 8 +++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/Component/Home.js b/frontend/src/Component/Home.js index efea19fc..659c35b5 100644 --- a/frontend/src/Component/Home.js +++ b/frontend/src/Component/Home.js @@ -286,7 +286,7 @@ function Home(props) { return ( -
    +
    diff --git a/frontend/src/Component/Navbar/NavbarCenter.js b/frontend/src/Component/Navbar/NavbarCenter.js index d449e9bd..ce0efc06 100644 --- a/frontend/src/Component/Navbar/NavbarCenter.js +++ b/frontend/src/Component/Navbar/NavbarCenter.js @@ -47,7 +47,7 @@ function NavbarCenter( ) { - Bookmark {totalBookmarks} + Bookmark {totalBookmarks}
    } diff --git a/frontend/src/style/BookMark.css b/frontend/src/style/BookMark.css index 1db5116e..f13b4cd3 100644 --- a/frontend/src/style/BookMark.css +++ b/frontend/src/style/BookMark.css @@ -128,15 +128,17 @@ transition: transform 0.6s ease-in-out, box-shadow 0.3s ease-in-out; } .bookmarkTag{ position: relative; + } .bookmarkTag::after{ content: ''; position: absolute; background-color: #000000; - width: 15%; + width: 20%; height: 60%; color: white; border-radius: 4px;top:-10px; + right: -10px; } .totBook{ @@ -145,7 +147,7 @@ transition: transform 0.6s ease-in-out, box-shadow 0.3s ease-in-out; z-index: 10; color: white; font-size: 13px; - right: -7px; + right: 0px; @@ -158,7 +160,7 @@ transition: transform 0.6s ease-in-out, box-shadow 0.3s ease-in-out; border-top: 6px solid rgb(8, 0, 0); width: 0; height: 0; - right: -8px; + right: -1px; border-left: 6px solid transparent; border-right: 6px solid transparent; } From 52067c70875a5dd46c8797992caed275de2b139a Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:26:51 +0530 Subject: [PATCH 07/19] ADDED NEW TOOLS --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index b082cc4a..89d3924b 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -601,6 +601,27 @@ "link": "https://ndl.iitkgp.ac.in/", "description": "One Library All of India. The national digital library of India" }, + { + "productName": "PlayStation Store", + "category": "tools", + "image": "https://upload.wikimedia.org/wikipedia/commons/2/2b/PlayStation_Store.png", + "link": "https://store.playstation.com/", + "description": "Enjoy hundreds of PS5, PS4 and classic PlayStation games, online multiplayer, and more unmissable benefits" + }, + { + "productName": "ADDitude", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQT-bSoR8MmFwovOirn_X4A03ke6HAqTKyfiA&s", + "link": "https://www.additudemag.com/", + "description": "Symptom Checker" + }, + { + "productName": "GamesRadar", + "category": "tools", + "image": "https://cdn.mos.cms.futurecdn.net/qamuzLyKtaczLXpc4Xt4T5.jpg", + "link": "https://www.gamesradar.com/", + "description": "Games related" + }, { "productName": "Springer", "category": "tools", From 5efe752a82766a820981c3382e76b735a8ba4dca Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:32:35 +0530 Subject: [PATCH 08/19] ADDED NEW TOOLS --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 7adc8627..d8459247 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -454,6 +454,27 @@ "link": "https://sharezone.net/", "description": "Sharezone is a collaborative school organization app for iOS, Android.." }, + { + "productName": "Rock Paper Shotgun", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQeMmzCedMNEwpZb80a2UV9VzVtr7vdLVyaAA&s", + "link": "https://www.rockpapershotgun.com/", + "description": "PC gaming news, previews, reviews, opinion" + }, + { + "productName": "Doodle", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYxvzHZ-q0s93nZL8GThwMq4K_oRRCUX-fNQ&s", + "link": "https://doodles.google/", + "description": "Doodle things" + }, + { + "productName": "Merriam Webster", + "category": "tools", + "image": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Merriam-Webster_logo.svg/800px-Merriam-Webster_logo.svg.png", + "link": "https://www.merriam-webster.com/", + "description": "Find definitions for over 300000 words from the most authoritative English dictionary" + }, { "productName": "Square", "category": "tools", From 9119f88b76a353811a9fd939367e7683c9f2007b Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:44:16 +0530 Subject: [PATCH 09/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 11e0923f..4def75fb 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -665,6 +665,27 @@ "link": "https://photobooth-app.org/", "description": "Create photos, collages and animated GIFs." }, + { + "productName": "Mappls", + "category": "tools", + "image": "https://play-lh.googleusercontent.com/01m5YSLauiGMh4MJm3AtCLmS7KQNfUOjisGTCHuEVYySmevnE7qWkHGsWSB8zLV0RPA", + "link": "https://www.mappls.com/", + "description": "Mappls portal" + }, + { + "productName": "Waze", + "category": "tools", + "image": "https://gmbapi.com/wp-content/uploads/2023/12/Waze.jpg", + "link": "https://www.waze.com/live-map/", + "description": "Realtime driving directions based on live traffic updates" + }, + { + "productName": "Medi Buddy", + "category": "tools", + "image": "https://www.healthcareradius.in/cloud/2021/11/15/MediBuddy-New-Logo-With-Tagline-scaled.jpg", + "link": "https://www.medibuddy.in/", + "description": " Healthcare providers in India" + }, { "productName": "Delina", "category": "tools", From 570ffb8e28c906d1e4651979c4e746eb987746c5 Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:48:28 +0530 Subject: [PATCH 10/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index a0dbe2a6..36fe7708 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -552,6 +552,27 @@ "link": "https://essayflow.ai/", "description": "Create Human-like Essays with Our Undetectable AI Essay Writer" }, + { + "productName": "Metromedi", + "category": "tools", + "image": "https://metromedi.com/img/logo/logo.png", + "link": "https://metromedi.com/", + "description": "All kinds of online counselling at affordable prices. mental health counsellors,etc " + }, + { + "productName": "PharmEasy", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQCWgxnMmopw1HyP_RuES3feWwydIWd9DeRwA&s", + "link": "https://pharmeasy.in/", + "description": "One of India's most trusted online pharmacy & medical stores offering pharmaceutical and healthcare products" + }, + { + "productName": "Practo", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSNs7cyBE-iwSfpND2CWyAkN_wQrA27hG31mQ&s", + "link": "https://www.practo.com/", + "description": "Medical related" + }, { "productName": "Interview warmup Google", "category": "tools", From c28e57622c08f3d9b7f461cbec39d8aab56d69a5 Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:07:44 +0530 Subject: [PATCH 11/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index b45dc522..2b07b69c 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -724,6 +724,27 @@ "link": "https://www.digitalocean.com/", "description": "Simple, scalable virtual machines for all your web hosting and VPS hosting needs." }, + { + "productName": "VoiceLiner", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSBmZu-YdSbZTW8vwcJsRDvKoDXHYgllpZvbg&s", + "link": "https://a9.io/voiceliner/", + "description": "The fastest way to capture and structure your thoughts" + }, + { + "productName": "SoundCloud", + "category": "tools", + "image": "https://ew.com/thmb/m4hc86lh-QaXAl1U91-V2MGRWZk=/1500x0/filters:no_upscale():max_bytes(150000):strip_icc()/Soundcloud-30b9efaf99f54cd6bdb2a45cd18cf444.jpg", + "link": "https://soundcloud.com/", + "description": "Discover and play over 320 million music tracks" + }, + { + "productName": "FSI", + "category": "tools", + "image": "https://upload.wikimedia.org/wikipedia/commons/8/82/Logo_FSI.svg", + "link": "https://fsi.nic.in/", + "description": "Forest Survey of India" + }, { "productName": "Krohne", "category": "tools", From 5ef89d179ad9b43326d68128f1294251baba36cc Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:11:34 +0530 Subject: [PATCH 12/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 6dbf34de..1840ab4e 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -692,6 +692,27 @@ "link": "https://www.appypie.com/", "description": "Anybody can create applications, websites, chatbots, and more on any internet-connected device without having to hire a programmer or agency." }, + { + "productName": "Unimont Realty", + "category": "tools", + "image": "https://img.staticmb.com/mbimages/photo_dir/developer/original_images/80161/1629719011086-DLLLLL.jpg", + "link": "https://www.unimont.in/", + "description": "Experience Your Gateway to Modern/Luxury Living" + }, + { + "productName": "Zauba Corp", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRtqzxWOc7JgqBADFfcv4wPHoI51xj3fvqvng&s", + "link": "https://www.zaubacorp.com/", + "description": "India's leading provider of commercial information and insight on businesses." + }, + { + "productName": "AmbitionBox", + "category": "tools", + "image": "https://static.ambitionbox.com/img/ab-brand.png", + "link": "https://www.ambitionbox.com/", + "description": "find their perfect company every month" + }, { "productName": "Moodle", "category": "tools", From 13f395fb289aab58a9c758d6504202347c9cd7db Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:14:56 +0530 Subject: [PATCH 13/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index cfc6e530..e2166c5d 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -608,6 +608,27 @@ "link": "https://www.coursera.org/", "description": "Coursera is an online learning platform featuring courses, degrees, certificate programs, and tutorials in a wide range of subjects." }, + { + "productName": "Instahyre", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTNOqjQuxpQOCtxW7t2uaRIZWKmKuauNwxwWQ&s", + "link": "https://www.instahyre.com/", + "description": "Search and apply to jobs at 10000+ top companies" + }, + { + "productName": "TrackXn", + "category": "tools", + "image": "https://storage.googleapis.com/5paisa-prod-storage/files/2022-10/tracxn%20ipo%20logo_1.png", + "link": "https://tracxn.com/", + "description": "Track the world's most innovative companies" + }, + { + "productName": "Crunchbase", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRRMD75Jv0lTnSSdZXo9MosPQ4JBVH0lfetmQ&s", + "link": "https://www.crunchbase.com/", + "description": "leading destination for company insights from early-stage startups" + }, { "productName": "OpenRead", "category": "tools", From f29700a4587f9a82cac56fe15dd6baac1b69e339 Mon Sep 17 00:00:00 2001 From: UNNIMAYA K <130051152+Unnimaya6122004@users.noreply.github.com> Date: Thu, 8 Aug 2024 18:19:13 +0530 Subject: [PATCH 14/19] Update product.json --- frontend/src/DB/product.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index c324f52a..8cb2fab6 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -706,6 +706,34 @@ "link": "https://evernote.com/", "description": "Use Evernote to capture more than just words. Harness the power of the internet with Web Clipper." }, + { + "productName": "Screener", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRvIGx-lcHLTGs1yLP0Pow2tgO0zTbx4Wg-ow&s", + "link": "https://www.screener.in/", + "description": "Stock analysis and screening tool for investors in India" + }, + { + "productName": "INDIAai", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQYE7RFTMp6fKCLu4Cvbhnyo5-pY9AIf9nw_w&s", + "link": "https://indiaai.gov.in/", + "description": "For leveraging transformative technologies" + }, + { + "productName": "Owler", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRQqkG4T9TSk81tm8DYuIGk-YFBD6zDdkwc-w&s", + "link": "https://corp.owler.com/", + "description": "Discover your direct and indirect competitors" + }, + { + "productName": "Privco", + "category": "tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZVnBrAauubFhKaiQJ6h_IV3tS-kLWAmqHbw&s", + "link": "https://www.privco.com/", + "description": "Go-to-source for valuable insights into the financial health" + }, { "productName": "Scaler", "category": "course", From 140ec232b48ab27f9cf830053330686b6aedc6f2 Mon Sep 17 00:00:00 2001 From: Aditya Bhaumik <92214013+aditya-bhaumik@users.noreply.github.com> Date: Fri, 9 Aug 2024 00:34:24 +0530 Subject: [PATCH 15/19] Update product.json --- frontend/src/DB/product.json | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 627c474a..eab5d7c3 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -6327,5 +6327,26 @@ "image": "https://pencil.evolus.vn/styling/images/logo-shadow.png", "link": "https://pencil.evolus.vn/", "description": "Create wireframes and prototypes for web and mobile interfaces; supports exporting to various formats." + }, + { + "productName": "Rive", + "category": "Tools", + "image": "https://cdn.rive.app/rive_logo_dark_bg.png", + "link": "https://rive.app/", + "description": "Create interactive, real-time animations for apps and websites." + }, + { + "productName": "Cacher", + "category": "Tools", + "image": "https://www.cacher.io/assets/open-graph-banner.png", + "link": "https://www.cacher.io/", + "description": "Store and organize reusable code snippets." + }, + { + "productName": "Restya Board", + "category": "Tools", + "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRUzZsK3SAa78Wrg7eq8xB0WEmpvw_3GerIpQ&s", + "link": "https://docs.digitalocean.com/products/marketplace/catalog/restyaboard/", + "description": "Create interactive, real-time animations for apps and websites." } ] From 0905245a078d43a542d45486271ca40031941708 Mon Sep 17 00:00:00 2001 From: kiran-pande-30 Date: Fri, 9 Aug 2024 01:41:16 +0530 Subject: [PATCH 16/19] HomePage Alignment --- frontend/src/Component/Home.js | 67 ++++++++++------------ frontend/src/style/Footer.css | 4 +- frontend/src/style/Home.css | 42 +++++++------- frontend/src/style/Testimonials.module.css | 7 ++- 4 files changed, 59 insertions(+), 61 deletions(-) diff --git a/frontend/src/Component/Home.js b/frontend/src/Component/Home.js index ca5589b2..db07e77d 100644 --- a/frontend/src/Component/Home.js +++ b/frontend/src/Component/Home.js @@ -288,45 +288,40 @@ function Home(props) {
    -
    -

    - Welcome to -
    Devlabs! -

    - Discover Free Tools, -
    - Empower Your Projects. -
    - - {" "} - -Built by open-source community - -

    - - - -
    -
    - - -
    -
    -
    - - devlabs-removebg-preview - -
    -
    +
    +
    + Welcome to +
    Devlabs! +

    + Discover Free Tools, +
    + Empower Your Projects. +
    + -Built by open-source community +

    +
    + +
    +
    +
    + + devlabs-removebg-preview + +
    +
    +

    -

    Lets Get, What You seek!

    - {/* */} +

    Lets Get, What You seek!

    Date: Fri, 9 Aug 2024 02:06:18 +0530 Subject: [PATCH 17/19] Update product.json --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index a00e51d9..50e60ed9 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -146,6 +146,13 @@ "link": "https://shorturl.at/fCXae", "description": "Generates a color palette from any website, allowing designers to use it as a reference in their work." }, + { + "productName": "Helperbird", + "category": "extensions", + "image": "https://rb.gy/bkvqyx", + "link": "https://rb.gy/gyu4t3", + "description": "Improve your reading, writing & accessibility." + }, { "productName": "Image color picker", "category": "tools", From 729215188df1f761b41be4d026e2d4ace5221cdb Mon Sep 17 00:00:00 2001 From: AsmitaMishra24 <146121869+AsmitaMishra24@users.noreply.github.com> Date: Fri, 9 Aug 2024 02:22:01 +0530 Subject: [PATCH 18/19] Update product.json --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 627c474a..5a5c4a87 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -132,6 +132,13 @@ "link": "https://cohere.com/", "description": "Cohere is focused on generative AI for the enterprise, building technology that businesses can use to deploy chatbots, search engines, copywriting, summarization, and other AI-driven products." }, + { + "productName": "Wiseone", + "category": "tools" , + "image": "https://shorturl.at/JF0qX", + "link": "https://shorturl.at/EHoZY", + "description": "Wiseone is your ultimate AI tool to enhance your web searches and boost your reading productivity." + }, { "productName": "Quick, draw", "category": "tools", From 2f05cd6c293800fe04dc31ad5fc7763cb8a87bce Mon Sep 17 00:00:00 2001 From: AsmitaMishra24 <146121869+AsmitaMishra24@users.noreply.github.com> Date: Fri, 9 Aug 2024 03:09:05 +0530 Subject: [PATCH 19/19] Update product.json --- frontend/src/DB/product.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/DB/product.json b/frontend/src/DB/product.json index 627c474a..16bd55ea 100644 --- a/frontend/src/DB/product.json +++ b/frontend/src/DB/product.json @@ -111,6 +111,13 @@ "link": "https://thisissand.com/", "description": "Thisissand is a unique playground for creating and sharing amazing sandscapes on your computer or mobile device. " }, + { + "productName": "SciSpace", + "category": "extensions", + "image": "https://rb.gy/3y43ng", + "link": "https://rb.gy/wf2f32", + "description": "Do hours of research in minutes." + }, { "productName": "PhpStorm", "category": "tools",