Compare commits

..

1 Commits

Author SHA1 Message Date
Abhishek-unni-2
d6fd076fa8 content:fixit 2025-09-27 02:00:34 +05:30
4 changed files with 762 additions and 861 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 KiB

After

Width:  |  Height:  |  Size: 322 KiB

View File

@ -7,7 +7,7 @@
<title>Kodepilot</title> <title>Kodepilot</title>
<link rel="stylesheet" href="main.css"> <link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="templateapi/main.css"> <link rel="stylesheet" href="templateapi/main.css">
<link rel="icon" type="image/x-icon" href="templateapi/assets/images/logo/favicon.ico"> <link rel="icon" type="image/x-icon" href="assets/images/logo/favicon.ico">
<style> <style>
.center-container { .center-container {
display: flex; display: flex;
@ -161,8 +161,10 @@
<header class="navbar"> <header class="navbar">
<div class="logo">Kodepilot</div> <div class="logo">Kodepilot</div>
<input type="text" class="search" placeholder="Search Opportunities"> <input type="text" class="search" placeholder="Search Opportunities">
<div class="buttons"> <nav>
<a href="/login">Log in</a> <a href="/login">Log in</a>
</nav>
<div class="buttons">
<button class="business" onclick="getInTouch()">Get in touch</button> <button class="business" onclick="getInTouch()">Get in touch</button>
<button class="login" onclick="goToApplay()">Apply</button> <button class="login" onclick="goToApplay()">Apply</button>
</div> </div>
@ -176,59 +178,11 @@
by by
your your
dream company.</p> dream company.</p>
<button class="button_blue_box"> <button class="button_blue_box"><img
<img src="https://d8it4huxumps7.cloudfront.net/uploads/images/655edc8c1fab9_diamond_1.png?d=82x84" src="https://d8it4huxumps7.cloudfront.net/uploads/images/655edc8c1fab9_diamond_1.png?d=82x84"
width="41" height="42" alt="diamond" loading="lazy"> width="41" height="42" alt="diamond" loading="lazy"><span><span
<span> class="nameContainer">Aditya</span><strong> Just Went
<span class="nameContainer">Aditya</span> Kodepilot!</strong></span></button>
<strong class="descContainer"> Just Went Kodepilot!</strong>
</span>
</button>
<style>
.nameContainer,
.descContainer {
transition: opacity 0.5s;
}
.fade-out {
opacity: 0;
}
.fade-in {
opacity: 1;
}
</style>
<script>
const data = [
{ name: "Ben", text: "Just Went HCL!" },
{ name: "Rakul", text: "Just Went Accenture!" },
{ name: "Anjali", text: "Joined a Ebmpapst!" },
{ name: "Sneha", text: "joined a Infosys!" },
{ name: "Amit", text: "Just Went JBL!" },
{ name: "Vikram", text: "Just Went UST!" },
{ name: "Priya", text: "Just Went Serviceplaingroup!" }
];
let index1 = 0;
const nameEl1 = document.querySelector(".nameContainer");
const descEl1 = document.querySelector(".descContainer");
setInterval(() => {
nameEl1.classList.add("fade-out");
descEl1.classList.add("fade-out");
setTimeout(() => {
index1 = (index1 + 1) % data.length;
nameEl1.textContent = data[index1].name;
descEl1.textContent = " " + data[index1].text;
nameEl1.classList.remove("fade-out");
descEl1.classList.remove("fade-out");
nameEl1.classList.add("fade-in");
descEl1.classList.add("fade-in");
setTimeout(() => {
nameEl1.classList.remove("fade-in");
descEl1.classList.remove("fade-in");
}, 500);
}, 500);
}, 2000);
</script>
</div> </div>
<div class="cards"> <div class="cards">
<div class="card green">Internships<br><small>Gain Practical Experience</small></div> <div class="card green">Internships<br><small>Gain Practical Experience</small></div>
@ -320,7 +274,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/qa.jpg" alt="Business Meeting"> <img src="assets/images/hai1/qa.jpg" alt="Business Meeting">
<div class="image-overlay"> <div class="image-overlay">
<h4>QA & Testing</h4> <h4>QA & Testing</h4>
<p>A close-up of a developer's screen showing a green 'Tests Passed' status and <p>A close-up of a developer's screen showing a green 'Tests Passed' status and
@ -328,7 +282,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/hai12.jpg" alt="Architecture"> <img src="assets/images/hai1/hai12.jpg" alt="Architecture">
<div class="image-overlay"> <div class="image-overlay">
<h4>Software Dev</h4> <h4>Software Dev</h4>
<p>A sleek image of a professional wireframe/design on a large monitor, with a <p>A sleek image of a professional wireframe/design on a large monitor, with a
@ -342,7 +296,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/ai.jpg" alt="Analytics"> <img src="assets/images/hai1/ai.jpg" alt="Analytics">
<div class="image-overlay"> <div class="image-overlay">
<h4>AI & Data</h4> <h4>AI & Data</h4>
<p>A stunning, large-scale data visualization or chart (like a complex network <p>A stunning, large-scale data visualization or chart (like a complex network
@ -351,7 +305,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/cyber.jpg" alt="Technology"> <img src="assets/images/hai1/cyber.jpg" alt="Technology">
<div class="image-overlay"> <div class="image-overlay">
<h4>Cybersecurity</h4> <h4>Cybersecurity</h4>
<p>A digital shield or lock icon overlaid on a dark, technical background with <p>A digital shield or lock icon overlaid on a dark, technical background with
@ -363,7 +317,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/qa.jpg" alt="Analytics"> <img src="assets/images/hai1/qa.jpg" alt="Analytics">
<div class="image-overlay"> <div class="image-overlay">
<h4>QA & Testing</h4> <h4>QA & Testing</h4>
<p>A close-up of a developer's screen showing a green 'Tests Passed' status and <p>A close-up of a developer's screen showing a green 'Tests Passed' status and
@ -371,7 +325,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/cyber.jpg" alt="Technology"> <img src="assets/images/hai1/cyber.jpg" alt="Technology">
<div class="image-overlay"> <div class="image-overlay">
<h4>Cybersecurity</h4> <h4>Cybersecurity</h4>
<p>A digital shield or lock icon overlaid on a dark, technical background with <p>A digital shield or lock icon overlaid on a dark, technical background with
@ -383,7 +337,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/hai12.jpg" alt="Analytics"> <img src="assets/images/hai1/hai12.jpg" alt="Analytics">
<div class="image-overlay"> <div class="image-overlay">
<h4>Software Dev</h4> <h4>Software Dev</h4>
<p>A sleek image of a professional wireframe/design on a large monitor, with a <p>A sleek image of a professional wireframe/design on a large monitor, with a
@ -391,7 +345,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/qa.jpg" alt="Technology"> <img src="assets/images/hai1/qa.jpg" alt="Technology">
<div class="image-overlay"> <div class="image-overlay">
<h4>QA & Testing</h4> <h4>QA & Testing</h4>
<p>A close-up of a developer's screen showing a green 'Tests Passed' status and <p>A close-up of a developer's screen showing a green 'Tests Passed' status and
@ -403,7 +357,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/ai.jpg" alt="Analytics"> <img src="assets/images/hai1/ai.jpg" alt="Analytics">
<div class="image-overlay"> <div class="image-overlay">
<h4>AI & Data</h4> <h4>AI & Data</h4>
<p>A stunning, large-scale data visualization or chart (like a complex network <p>A stunning, large-scale data visualization or chart (like a complex network
@ -412,7 +366,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/aws..jpg" alt="Technology"> <img src="assets/images/hai1/aws..jpg" alt="Technology">
<div class="image-overlay"> <div class="image-overlay">
<h4>Cloud & DevOps</h4> <h4>Cloud & DevOps</h4>
<p>An abstract, interconnected graphic of servers and data pipelines with subtle <p>An abstract, interconnected graphic of servers and data pipelines with subtle
@ -425,7 +379,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/ai.jpg" alt="Analytics"> <img src="assets/images/hai1/ai.jpg" alt="Analytics">
<div class="image-overlay"> <div class="image-overlay">
<h4>AI & Data</h4> <h4>AI & Data</h4>
<p>A stunning, large-scale data visualization or chart (like a complex network <p>A stunning, large-scale data visualization or chart (like a complex network
@ -434,7 +388,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/cyber.jpg" alt="Technology"> <img src="assets/images/hai1/cyber.jpg" alt="Technology">
<div class="image-overlay"> <div class="image-overlay">
<h4>Cybersecurity</h4> <h4>Cybersecurity</h4>
<p>A digital shield or lock icon overlaid on a dark, technical background with <p>A digital shield or lock icon overlaid on a dark, technical background with
@ -447,7 +401,7 @@
<div class="slide1"> <div class="slide1">
<div class="slide1-box"> <div class="slide1-box">
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/hai12.jpg" alt="Creativity"> <img src="assets/images/hai1/hai12.jpg" alt="Creativity">
<div class="image-overlay"> <div class="image-overlay">
<h4>Software Dev</h4> <h4>Software Dev</h4>
<p>A sleek image of a professional wireframe/design on a large monitor, with a <p>A sleek image of a professional wireframe/design on a large monitor, with a
@ -455,7 +409,7 @@
</div> </div>
</div> </div>
<div class="image-container"> <div class="image-container">
<img src="templateapi/assets/images/hai1/aws..jpg" alt="Beach"> <img src="assets/images/hai1/aws..jpg" alt="Beach">
<div class="image-overlay"> <div class="image-overlay">
<h4>Cloud & DevOps</h4> <h4>Cloud & DevOps</h4>
<p>An abstract, interconnected graphic of servers and data pipelines with subtle <p>An abstract, interconnected graphic of servers and data pipelines with subtle
@ -521,8 +475,7 @@
" "
</p> </p>
<p class="slide-text"> <p class="slide-text">
"The Kodepilot curriculum is laser-focused on job placement. I mastered the required "The Kodepilot curriculum is laser-focused on job placement. I mastered the required skills and secured my position at GBL with confidence."
skills and secured my position at GBL with confidence."
</p> </p>
<div class="slide-logo-box"> <div class="slide-logo-box">
<div class="profile-box"> <div class="profile-box">
@ -543,8 +496,7 @@
" "
</p> </p>
<p class="slide-text"> <p class="slide-text">
"After taking the QA and DevOps courses, Kodepilot made me ready for the global stage. I "After taking the QA and DevOps courses, Kodepilot made me ready for the global stage. I was immediately placed with a top-tier company: Accenture."
was immediately placed with a top-tier company: Accenture."
</p> </p>
<div class="slide-logo-box"> <div class="slide-logo-box">
<div class="profile-box"> <div class="profile-box">
@ -564,8 +516,7 @@
" "
</p> </p>
<p class="slide-text"> <p class="slide-text">
"Kodepilot's training in AWS and DevOps was the key to my career breakthrough. I went "Kodepilot's training in AWS and DevOps was the key to my career breakthrough. I went from learning the skills to successfully landing a role at Infosys."
from learning the skills to successfully landing a role at Infosys."
</p> </p>
<div class="slide-logo-box"> <div class="slide-logo-box">
<div class="profile-box"> <div class="profile-box">
@ -585,83 +536,77 @@
<section> <section>
<!-- <div class="practice-cards-container"> --> <!-- <div class="practice-cards-container"> -->
<div class="practice-container"> <div class="practice-container">
<div class="practice-container-box"> <h1 class="practice-title">Practice Coding & Ace Hiring Assessments</h1>
<div class="practice-container-text-box"> <p class="practice-subtitle">Level up your coding skills by practicing the hiring assessments of your
<h1 class="practice-title">Practice Coding & Ace Hiring Assessments</h1> dream companies & ace your placement game!</p>
<p class="practice-subtitle">Level up your coding skills by practicing the hiring assessments of
your <div class="practice-cards-wrapper">
dream companies & ace your placement game!</p> <!-- Coding Practice Card -->
<div class="practice-card active">
<div class="practice-card-content">
<div>
<div class="practice-card-icon">💻</div>
<h3>Coding Practice</h3>
<p>Level up your coding skills by practicing the hiring Questions.</p>
<div class="practice-footer-text">400+ Questions</div>
</div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div>
<div class="practice-card-svg">
<img src="assets/images/codinghiringassesments/nope_1.png" alt="Coding Practice">
</div>
</div> </div>
<div class="practice-cards-wrapper">
<div class="practice-card active">
<div class="practice-card-content">
<div>
<div class="practice-card-icon">💻</div>
<h3>Coding Practice</h3>
<p>Level up your coding skills by practicing the hiring Questions.</p>
<div class="practice-footer-text">400+ Questions</div>
</div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div>
<div class="practice-card-svg">
<img src="templateapi/assets/images/codinghiringassesments/nope_1.png"
alt="Coding Practice">
</div>
</div>
<!-- Interview Preparation Card --> <!-- Interview Preparation Card -->
<div class="practice-card"> <div class="practice-card">
<div class="practice-card-content"> <div class="practice-card-content">
<div> <div>
<div class="practice-card-icon">📋</div> <div class="practice-card-icon">📋</div>
<h3>Interview Preparation</h3> <h3>Interview Preparation</h3>
<p>Crack Top companies in just 5 days with unbelivable learning</p> <p>Crack Top companies in just 5 days with unbelivable learning</p>
<div class="practice-footer-text">20+ Companies</div> <div class="practice-footer-text">20+ Companies</div>
</div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div>
<div class="practice-card-svg">
<img src="templateapi/assets/images/codinghiringassesments/nope_2.png"
alt="Coding Practice">
</div> </div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div> </div>
<div class="practice-card-svg">
<!-- Projects Card --> <img src="assets/images/codinghiringassesments/nope_2.png" alt="Coding Practice">
<div class="practice-card">
<div class="practice-card-content">
<div>
<div class="practice-card-icon">📂</div>
<h3>Projects</h3>
<p>Projects epitomize perfect synergy for success.</p>
<div class="practice-footer-text">15+ Projects</div>
</div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div>
<div class="practice-card-svg">
<img src="templateapi/assets/images/codinghiringassesments/nope_3.webp"
alt="Coding Practice">
</div>
</div> </div>
</div>
<!-- Skill Based Assessments Card --> <!-- Projects Card -->
<div class="practice-card"> <div class="practice-card">
<div class="practice-card-content"> <div class="practice-card-content">
<div> <div>
<div class="practice-card-icon">📝</div> <div class="practice-card-icon">📂</div>
<h3>Skill Based Assessments</h3> <h3>Projects</h3>
<p>Assess your skills and get ahead of the curve.</p> <p>Projects epitomize perfect synergy for success.</p>
<div class="practice-footer-text">2000+ Questions</div> <div class="practice-footer-text">15+ Projects</div>
</div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div> </div>
<div class="practice-card-svg"> <a href="#" class="practice-cta-btn">Start Now ➤</a>
<img src="templateapi/assets/images/codinghiringassesments/nope_4.webp" </div>
alt="Coding Practice"> <div class="practice-card-svg">
<img src="assets/images/codinghiringassesments/nope_3.webp" alt="Coding Practice">
</div>
</div>
<!-- Skill Based Assessments Card -->
<div class="practice-card">
<div class="practice-card-content">
<div>
<div class="practice-card-icon">📝</div>
<h3>Skill Based Assessments</h3>
<p>Assess your skills and get ahead of the curve.</p>
<div class="practice-footer-text">2000+ Questions</div>
</div> </div>
<a href="#" class="practice-cta-btn">Start Now ➤</a>
</div>
<div class="practice-card-svg">
<img src="assets/images/codinghiringassesments/nope_4.webp" alt="Coding Practice">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- </div> -->
</section> </section>
@ -670,12 +615,11 @@
<section class="card-simple"> <section class="card-simple">
<div class="card-easy"> <div class="card-easy">
<div class="card-easy-left"> <div class="card-easy-left">
<img src="templateapi/assets/images/learn/learn.png" alt="Student Image"> <img src="assets/images/learn/learn.png" alt="Student Image">
</div> </div>
<div class="card-easy-right"> <div class="card-easy-right">
<h2>The Future of Your Career Starts Now. Learn, Grow, Achieve</h2> <h2>The Future of Your Career Starts Now. Learn, Grow, Achieve</h2>
<p>Stop waiting for opportunity—create it. Dive into our extensive library to level up your <p>Stop waiting for opportunity—create it. Dive into our extensive library to level up your expertise and unlock your next big career move.</p>
expertise and unlock your next big career move.</p>
<div class="features"> <div class="features">
<div class="feature"><span></span>50+ Courses</div> <div class="feature"><span></span>50+ Courses</div>
<div class="feature"><span></span>Certificate</div> <div class="feature"><span></span>Certificate</div>
@ -732,8 +676,8 @@
<footer class="footer"> <footer class="footer">
<div class="footer-container"> <div class="footer-container">
<div class="footer-section company-section"> <div class="footer-section company-section">
<div class="logo" style="text-align: left; margin-left: 0; padding-left: 0;">Kodepilot</div> <div class="logo" style="text-align: left; margin-left: 0; padding-left: 0;">Kodepilot</div>
<p class="tagline">Built with <span class="heart"></span> in India for the world</p> <p class="tagline">Built with <span class="heart"></span> in India for the world</p>
<div class="contact-info"> <div class="contact-info">
<h4>Stay Connected</h4> <h4>Stay Connected</h4>
@ -742,22 +686,22 @@
<div class="contact-item"> <div class="contact-item">
<i class="fas fa-envelope"></i> <i class="fas fa-envelope"></i>
careers@kodepilot.com sales@kodepilot.com
</div> </div>
<div class="contact-item"> <div class="contact-item">
<i class="fas fa-phone"></i> <i class="fas fa-phone"></i>
+91 88707 60431<span style="font-size: 12px;"> </span> +91-9311777388 <span style="font-size: 12px;"> </span>
</div> </div>
</div> </div>
<div> <div >
<strong style="color: white; font-size: 14px; line-height: 30px;">Support Inquiries</strong> <strong style="color: white; font-size: 14px; line-height: 30px;">Support Inquiries</strong>
<div style="margin-bottom: 20px; line-height: 23px; margin-left: -27px;"> <div style="margin-bottom: 20px; line-height: 23px; margin-left: -27px;">
<div class="contact-item"> <div class="contact-item">
<i class="fas fa-envelope"></i> <i class="fas fa-envelope"></i>
support@kodepilot.com support@kodepilot.com
</div> </div>
</div> </div>
</div> </div>
</div> </div>

1006
main.css

File diff suppressed because it is too large Load Diff

355
main.js
View File

@ -1,5 +1,5 @@
function goToApplay() { function goToApplay() {
window.location.href = "/apply/"; window.location.href = "/applay/";
} }
function getInTouch() { function getInTouch() {
@ -234,150 +234,150 @@ const observer = new IntersectionObserver((entries) => {
console.log("test"); console.log("test");
document.addEventListener('DOMContentLoaded', async () => { document.addEventListener('DOMContentLoaded', async () => {
const allCourses = []; // const allCourses = [];
const baseUrl = 'https://kodepilot.in/course/index.php'; // const baseUrl = 'https://kodepilot.in/course/index.php';
const res = await fetch(baseUrl); // const res = await fetch(baseUrl);
const html = await res.text(); // const html = await res.text();
const categoryRegex = /<h3 class="categoryname aabtn"><a href="([^"]+)">([^<]+)<\/a><\/h3>/g; // const categoryRegex = /<h3 class="categoryname aabtn"><a href="([^"]+)">([^<]+)<\/a><\/h3>/g;
const categories = []; // const categories = [];
let match; // let match;
while ((match = categoryRegex.exec(html)) !== null) { // while ((match = categoryRegex.exec(html)) !== null) {
categories.push({ url: match[1], name: match[2] }); // categories.push({ url: match[1], name: match[2] });
} // }
for (const category of categories) { // for (const category of categories) {
const resCat = await fetch(category.url); // const resCat = await fetch(category.url);
const catHtml = await resCat.text(); // const catHtml = await resCat.text();
const cleanHtml = catHtml.replace(/\n/g, ' '); // const cleanHtml = catHtml.replace(/\n/g, ' ');
const courseRegex = /<div class="card dashboard-card [^"]*"[^>]*>.*?<a href="([^"]+)"[^>]*>.*?background-image: url\(([^)]+)\);".*?<span class="sr-only">(.*?)<\/span>.*?<div class="course-category">\s*([^<]+)<\/div>.*?<div class="course-summary">.*?<p>(.*?)<\/p>/g; // const courseRegex = /<div class="card dashboard-card [^"]*"[^>]*>.*?<a href="([^"]+)"[^>]*>.*?background-image: url\(([^)]+)\);".*?<span class="sr-only">(.*?)<\/span>.*?<div class="course-category">\s*([^<]+)<\/div>.*?<div class="course-summary">.*?<p>(.*?)<\/p>/g;
while ((match = courseRegex.exec(cleanHtml)) !== null) { // while ((match = courseRegex.exec(cleanHtml)) !== null) {
allCourses.push({ // allCourses.push({
category: match[4].trim(), // category: match[4].trim(),
link: match[1].trim(), // link: match[1].trim(),
image: match[2].trim(), // image: match[2].trim(),
name: match[3].trim(), // name: match[3].trim(),
description: match[5].replace(/<br\s*\/?>/g, ' ').trim() // description: match[5].replace(/<br\s*\/?>/g, ' ').trim()
}); // });
}
}
// const allCourses = [
// {
// category: "Software Development & Engineering",
// link: "https://kodepilot.in/course/view.php?id=16",
// image: "https://kodepilot.in/pluginfile.php/53/course/overviewfiles/UiUx.png",
// name: "UI/UX Design",
// description: "Learn the fundamentals of user interface and user experience design."
// },
// {
// category: "Software Development & Engineering",
// link: "https://kodepilot.in/course/view.php?id=9",
// image: "https://kodepilot.in/pluginfile.php/39/course/overviewfiles/IOS.png",
// name: "iOS Development",
// description: "Build iOS apps using Swift and Apples development tools."
// },
// {
// category: "Software Development & Engineering",
// link: "https://kodepilot.in/course/view.php?id=7",
// image: "https://kodepilot.in/pluginfile.php/35/course/overviewfiles/RD.png",
// name: "React Development",
// description: "Master React.js for building fast and scalable web apps."
// },
// {
// category: "Software Development & Engineering",
// link: "https://kodepilot.in/course/view.php?id=5",
// image: "https://kodepilot.in/pluginfile.php/31/course/overviewfiles/PFS.png",
// name: "Full Stack Development",
// description: "End-to-end training in frontend, backend, and databases."
// },
// {
// category: "Software Development & Engineering",
// link: "https://kodepilot.in/course/view.php?id=3",
// image: "https://kodepilot.in/pluginfile.php/25/course/overviewfiles/JFS.png",
// name: "Java Full Stack",
// description: "Become a full stack developer with Java, Spring, and modern tools."
// },
// {
// category: "Quality & Testing",
// link: "https://kodepilot.in/course/view.php?id=13",
// image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/PT.png",
// name: "Performance Testing",
// description: "Learn tools and techniques for testing system performance."
// },
// {
// category: "Quality & Testing",
// link: "https://kodepilot.in/course/view.php?id=10",
// image: "https://kodepilot.in/pluginfile.php/41/course/overviewfiles/QA.png",
// name: "QA Testing",
// description: "Understand quality assurance practices for reliable software."
// },
// {
// category: "Cloud & DevOps",
// link: "https://kodepilot.in/course/view.php?id=17",
// image: "https://kodepilot.in/pluginfile.php/55/course/overviewfiles/GC.png",
// name: "Google Cloud",
// description: "Get hands-on with Google Cloud Platform services and tools."
// },
// {
// category: "Cloud & DevOps",
// link: "https://kodepilot.in/course/view.php?id=4",
// image: "https://kodepilot.in/pluginfile.php/28/course/overviewfiles/AWSA.png",
// name: "AWS Associate",
// description: "Prepare for AWS certifications and cloud computing skills."
// },
// {
// category: "AI, Data & Emerging Tech (On-demand & trending)",
// link: "https://kodepilot.in/course/view.php?id=26",
// image: "https://kodepilot.in/pluginfile.php/73/course/overviewfiles/DE.png",
// name: "Data Engineering",
// description: "Build pipelines and manage data at scale for analytics."
// },
// {
// category: "AI, Data & Emerging Tech (On-demand & trending)",
// link: "https://kodepilot.in/course/view.php?id=18",
// image: "https://kodepilot.in/pluginfile.php/58/course/overviewfiles/PE.png",
// name: "Prompt Engineering",
// description: "Learn to design prompts for AI models like ChatGPT."
// },
// {
// category: "AI, Data & Emerging Tech (On-demand & trending)",
// link: "https://kodepilot.in/course/view.php?id=12",
// image: "https://kodepilot.in/pluginfile.php/44/course/overviewfiles/AI%28Ess%29.png",
// name: "AI Essentials",
// description: "Introduction to AI, ML concepts, and real-world use cases."
// },
// {
// category: "Enterprise & Business Tech",
// link: "https://kodepilot.in/course/view.php?id=24",
// image: "https://kodepilot.in/pluginfile.php/70/course/overviewfiles/ServiceNow.png",
// name: "ServiceNow",
// description: "Learn ITSM and workflow automation with ServiceNow."
// },
// {
// category: "Enterprise & Business Tech",
// link: "https://kodepilot.in/course/view.php?id=19",
// image: "https://kodepilot.in/pluginfile.php/61/course/overviewfiles/SAP.png",
// name: "SAP",
// description: "Master SAP ERP modules for enterprise solutions."
// },
// {
// category: "Cybersecurity & Compliance",
// link: "https://kodepilot.in/course/view.php?id=23",
// image: "https://kodepilot.in/pluginfile.php/69/course/overviewfiles/Security.png",
// name: "Security Fundamentals",
// description: "Understand core concepts of IT security and defense."
// },
// {
// category: "Cybersecurity & Compliance",
// link: "https://kodepilot.in/course/view.php?id=22",
// image: "https://kodepilot.in/pluginfile.php/68/course/overviewfiles/CyE.png",
// name: "Cyber Essentials",
// description: "Learn the basics of cybersecurity and compliance standards."
// } // }
// ]; // }
const allCourses = [
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=16",
image: "https://kodepilot.in/pluginfile.php/53/course/overviewfiles/UiUx.png",
name: "UI/UX Design",
description: "Learn the fundamentals of user interface and user experience design."
},
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=9",
image: "https://kodepilot.in/pluginfile.php/39/course/overviewfiles/IOS.png",
name: "iOS Development",
description: "Build iOS apps using Swift and Apples development tools."
},
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=7",
image: "https://kodepilot.in/pluginfile.php/35/course/overviewfiles/RD.png",
name: "React Development",
description: "Master React.js for building fast and scalable web apps."
},
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=5",
image: "https://kodepilot.in/pluginfile.php/31/course/overviewfiles/PFS.png",
name: "Full Stack Development",
description: "End-to-end training in frontend, backend, and databases."
},
{
category: "Software Development & Engineering",
link: "https://kodepilot.in/course/view.php?id=3",
image: "https://kodepilot.in/pluginfile.php/25/course/overviewfiles/JFS.png",
name: "Java Full Stack",
description: "Become a full stack developer with Java, Spring, and modern tools."
},
{
category: "Quality & Testing",
link: "https://kodepilot.in/course/view.php?id=13",
image: "https://kodepilot.in/pluginfile.php/46/course/overviewfiles/PT.png",
name: "Performance Testing",
description: "Learn tools and techniques for testing system performance."
},
{
category: "Quality & Testing",
link: "https://kodepilot.in/course/view.php?id=10",
image: "https://kodepilot.in/pluginfile.php/41/course/overviewfiles/QA.png",
name: "QA Testing",
description: "Understand quality assurance practices for reliable software."
},
{
category: "Cloud & DevOps",
link: "https://kodepilot.in/course/view.php?id=17",
image: "https://kodepilot.in/pluginfile.php/55/course/overviewfiles/GC.png",
name: "Google Cloud",
description: "Get hands-on with Google Cloud Platform services and tools."
},
{
category: "Cloud & DevOps",
link: "https://kodepilot.in/course/view.php?id=4",
image: "https://kodepilot.in/pluginfile.php/28/course/overviewfiles/AWSA.png",
name: "AWS Associate",
description: "Prepare for AWS certifications and cloud computing skills."
},
{
category: "AI, Data & Emerging Tech (On-demand & trending)",
link: "https://kodepilot.in/course/view.php?id=26",
image: "https://kodepilot.in/pluginfile.php/73/course/overviewfiles/DE.png",
name: "Data Engineering",
description: "Build pipelines and manage data at scale for analytics."
},
{
category: "AI, Data & Emerging Tech (On-demand & trending)",
link: "https://kodepilot.in/course/view.php?id=18",
image: "https://kodepilot.in/pluginfile.php/58/course/overviewfiles/PE.png",
name: "Prompt Engineering",
description: "Learn to design prompts for AI models like ChatGPT."
},
{
category: "AI, Data & Emerging Tech (On-demand & trending)",
link: "https://kodepilot.in/course/view.php?id=12",
image: "https://kodepilot.in/pluginfile.php/44/course/overviewfiles/AI%28Ess%29.png",
name: "AI Essentials",
description: "Introduction to AI, ML concepts, and real-world use cases."
},
{
category: "Enterprise & Business Tech",
link: "https://kodepilot.in/course/view.php?id=24",
image: "https://kodepilot.in/pluginfile.php/70/course/overviewfiles/ServiceNow.png",
name: "ServiceNow",
description: "Learn ITSM and workflow automation with ServiceNow."
},
{
category: "Enterprise & Business Tech",
link: "https://kodepilot.in/course/view.php?id=19",
image: "https://kodepilot.in/pluginfile.php/61/course/overviewfiles/SAP.png",
name: "SAP",
description: "Master SAP ERP modules for enterprise solutions."
},
{
category: "Cybersecurity & Compliance",
link: "https://kodepilot.in/course/view.php?id=23",
image: "https://kodepilot.in/pluginfile.php/69/course/overviewfiles/Security.png",
name: "Security Fundamentals",
description: "Understand core concepts of IT security and defense."
},
{
category: "Cybersecurity & Compliance",
link: "https://kodepilot.in/course/view.php?id=22",
image: "https://kodepilot.in/pluginfile.php/68/course/overviewfiles/CyE.png",
name: "Cyber Essentials",
description: "Learn the basics of cybersecurity and compliance standards."
}
];
console.table(allCourses); console.table(allCourses);
@ -422,73 +422,56 @@ function renderCourses(allCourses) {
} }
}); });
// If temp still has >= 4, push it
if (temp.courses.length >= 4) { if (temp.courses.length >= 4) {
mergedSections.push(temp); mergedSections.push(temp);
} }
// Render sections
mergedSections.forEach(sectionData => { mergedSections.forEach(sectionData => {
const section = document.createElement('div'); const section = document.createElement('div');
section.className = 'course-section'; section.className = 'course-section';
section.innerHTML = ` section.innerHTML = `
<h2 class="course-category-title">${sectionData.category}</h2> <h2 class="course-category-title">${sectionData.category}</h2>
<div class="course-slider-box"> <div class="course-slider-box">
<div class="course-slider"> <div class="course-slider">
<button class="prev-btn nav-button"></button> <button class="prev-btn nav-button"></button>
<div class="course-track"></div> <div class="course-track"></div>
<button class="next-btn nav-button"></button> <button class="next-btn nav-button"></button>
</div> </div>
</div> </div>
`; `;
const track = section.querySelector('.course-track'); const track = section.querySelector('.course-track');
const prevBtn = section.querySelector('.prev-btn');
const nextBtn = section.querySelector('.next-btn');
sectionData.courses.forEach(course => { sectionData.courses.forEach(course => {
const courseDiv = document.createElement('div'); const courseDiv = document.createElement('div');
courseDiv.className = 'course-card'; courseDiv.className = 'course-card';
courseDiv.innerHTML = ` courseDiv.innerHTML = `
<a href="${course.link}" target="_blank"> <a href="${course.link}" target="_blank">
<div class="course-image" style="background-image: url(${course.image});"></div> <div class="course-image" style="background-image: url(${course.image});"></div>
</a> </a>
<div class="course-content"> <div class="course-content">
<a href="${course.link}" class="course-name" target="_blank">${course.name}</a> <a href="${course.link}" class="course-name" target="_blank">${course.name}</a>
<div class="course-description">${course.description}</div> <div class="course-description">${course.description}</div>
</div> </div>
`; `;
track.appendChild(courseDiv); track.appendChild(courseDiv);
}); });
// Button scrolling // Slider buttons
const scrollAmount = 300; const prevBtn = section.querySelector('.prev-btn');
prevBtn.addEventListener('click', () => track.scrollBy({ left: -scrollAmount, behavior: 'smooth' })); const nextBtn = section.querySelector('.next-btn');
nextBtn.addEventListener('click', () => track.scrollBy({ left: scrollAmount, behavior: 'smooth' }));
// Touch swipe prevBtn.addEventListener('click', () => {
let startX = 0; track.scrollBy({ left: -300, behavior: 'smooth' });
let isDragging = false;
track.addEventListener('touchstart', e => {
startX = e.touches[0].clientX;
isDragging = true;
}); });
nextBtn.addEventListener('click', () => {
track.addEventListener('touchmove', e => { track.scrollBy({ left: 300, behavior: 'smooth' });
if (!isDragging) return;
const x = e.touches[0].clientX;
const walk = (startX - x) * 10;
track.scrollLeft += walk;
startX = x;
});
track.addEventListener('touchend', () => {
isDragging = false;
}); });
container.appendChild(section); container.appendChild(section);
}); });
} }
@ -510,7 +493,7 @@ function stepScroll() {
track.appendChild(first); track.appendChild(first);
track.style.transition = 'none'; track.style.transition = 'none';
track.style.transform = 'translateX(0)'; track.style.transform = 'translateX(0)';
void track.offsetWidth; void track.offsetWidth; // force reflow
track.style.transition = 'transform 0.5s ease'; track.style.transition = 'transform 0.5s ease';
track.removeEventListener('transitionend', handler); track.removeEventListener('transitionend', handler);
}); });
@ -522,7 +505,7 @@ setInterval(stepScroll, 3000);
/*--------------------------------------------------------*/ /*--------------------------------------------------------*/
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function() {
const cards = document.querySelectorAll('.practice-card'); const cards = document.querySelectorAll('.practice-card');
let activeCard = document.querySelector('.practice-card.active'); let activeCard = document.querySelector('.practice-card.active');
let lastActiveCard = activeCard; let lastActiveCard = activeCard;
@ -548,14 +531,14 @@ document.addEventListener('DOMContentLoaded', function () {
// Add click event listeners (better for mobile and accessibility) // Add click event listeners (better for mobile and accessibility)
cards.forEach(card => { cards.forEach(card => {
card.addEventListener('click', function () { card.addEventListener('click', function() {
setActiveCard(this); setActiveCard(this);
}); });
}); });
// Optional: Add hover effect for desktop (complementary to click) // Optional: Add hover effect for desktop (complementary to click)
cards.forEach(card => { cards.forEach(card => {
card.addEventListener('mouseenter', function () { card.addEventListener('mouseenter', function() {
// Only activate on hover if you want that behavior // Only activate on hover if you want that behavior
// setActiveCard(this); // setActiveCard(this);
}); });