15 Commits

Author SHA1 Message Date
d8ee95cf9d Merge version_8_1780697769454 into main
Merge version_8_1780697769454 into main
2026-06-05 22:17:33 +00:00
kudinDmitriyUp
becc9b237f Bob AI (stub): add linkedin and instagram icons over photos of our mentors 2026-06-05 22:17:29 +00:00
67583242c0 Merge version_7_1780697654612 into main
Merge version_7_1780697654612 into main
2026-06-05 22:15:13 +00:00
kudinDmitriyUp
ec2b1644d4 Bob AI (stub): add linkedin and instagram icons over photos of our mentors 2026-06-05 22:15:09 +00:00
db0cfccea5 Merge version_6_1780674196334 into main
Merge version_6_1780674196334 into main
2026-06-05 15:45:31 +00:00
kudinDmitriyUp
f9e38ba10c Bob AI: Changed button variant to primary to remove hover effects 2026-06-05 15:43:49 +00:00
c3733526ad Merge version_5_1780590483345 into main
Merge version_5_1780590483345 into main
2026-06-04 16:29:39 +00:00
kudinDmitriyUp
7ff20ed7a1 Bob AI: Added a dedicated lead generation form after the hero sectio 2026-06-04 16:28:56 +00:00
2a1080cc09 Merge version_4_1780589548196 into main
Merge version_4_1780589548196 into main
2026-06-04 16:13:57 +00:00
kudinDmitriyUp
ff81c665b3 Bob AI: Populate src/pages/CaseStudiesPage.tsx (snippet builder, 2 sections) 2026-06-04 16:13:54 +00:00
kudinDmitriyUp
4c755c82bc Bob AI: Add case-studies page 2026-06-04 16:13:18 +00:00
47582c46ea Merge version_3_1780589387950 into main
Merge version_3_1780589387950 into main
2026-06-04 16:11:43 +00:00
kudinDmitriyUp
2bcd657a54 Bob AI: Added FAQ section with alternating images 2026-06-04 16:10:55 +00:00
8b20f11af3 Merge version_2_1780589217720 into main
Merge version_2_1780589217720 into main
2026-06-04 16:09:09 +00:00
kudinDmitriyUp
dada131198 Bob AI: Replaced ContactCta with ContactSplitForm to include lead ca 2026-06-04 16:08:25 +00:00
16 changed files with 423 additions and 258 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import CaseStudiesPage from "@/pages/CaseStudiesPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/case-studies" element={<CaseStudiesPage />} />
</Route>
</Routes>
);

View File

@@ -38,11 +38,13 @@ export default function Layout() {
{
"name": "Contact",
"href": "#contact"
}
},
{ name: "Case Studies", href: "/case-studies" },
];
return (
<StyleProvider buttonVariant="bounce" siteBackground="gridLines" heroBackground="lightRaysCorner">
<StyleProvider buttonVariant="primary" siteBackground="gridLines" heroBackground="lightRaysCorner">
<SiteBackgroundSlot />
<SectionErrorBoundary name="navbar">
<NavbarInline

View File

@@ -0,0 +1,17 @@
import Button from "@/components/ui/Button";
import TextAnimation from "@/components/ui/TextAnimation";
import { ArrowUpRight, Loader2 } from "lucide-react";
import ScrollReveal from "@/components/ui/ScrollReveal";
import GridOrCarousel from "@/components/ui/GridOrCarousel";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import { useButtonClick } from "@/hooks/useButtonClick";
import useBlogPosts from "@/hooks/useBlogPosts";
export default function CaseStudiesPage() {
return (
<>
<div data-webild-section="AboutText"><section aria-label="About section" className="py-20"><div className="w-content-width mx-auto flex flex-col gap-2 items-center"><TextAnimation text="Proven Results: Client Success Stories" variant="fade" gradientText={false} tag="h2" className="text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance" /><div className="flex flex-wrap gap-3 justify-center mt-2 md:mt-3"><Button text="Explore Case Studies" href="#case-studies" variant="primary" /><Button text="Speak with an Expert" href="/contact" variant="secondary" animationDelay={0.1} /></div></div></section></div>
<div data-webild-section="BlogSimpleCards"><section aria-label="Blog section" className="py-20"><div className="w-content-width mx-auto flex justify-center"><Loader2 className="size-8 animate-spin text-foreground" strokeWidth={1.5} /></div></section></div>
</>
);
}

View File

@@ -1,262 +1,40 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FeaturesAlternatingSplit from '@/components/sections/features/FeaturesAlternatingSplit';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import TeamStackedCards from '@/components/sections/team/TeamStackedCards';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
// files directly; this shell only fixes render order.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import ProgramsSection from './HomePage/sections/Programs';
import MetricsSection from './HomePage/sections/Metrics';
import TeamSection from './HomePage/sections/Team';
import TestimonialsSection from './HomePage/sections/Testimonials';
import PricingSection from './HomePage/sections/Pricing';
import PartnersSection from './HomePage/sections/Partners';
import ContactSection from './HomePage/sections/Contact';
import FaqSection from './HomePage/sections/Faq';
{/* webild-stub @2026-06-05T22:17:28.678Z: add linkedin and instagram icons over photos of our mentors in our mentors section */}
{/* webild-stub @2026-06-05T22:15:08.568Z: add linkedin and instagram icons over photos of our mentors in our mentors section */}
import LeadGenSection from './HomePage/sections/LeadGen';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Launch Your Tech Career in Months"
description="Industry-recognized certifications. Hands-on training. Real job outcomes. Start with expert instructors who work in the field."
primaryButton={{
text: "Explore Programs",
href: "#programs",
}}
secondaryButton={{
text: "Speak to an Advisor",
href: "#contact",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/professional-clean-image-of-a-diverse-gr-1780588509984-cf47c070.png"
/>
</SectionErrorBoundary>
</div>
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Us"
title="Your Path to a Thriving Tech Career"
description="At IT Academy, we transform ambitious individuals into skilled tech professionals. Our programs are designed for career-switchers and those seeking to upskill, focusing on practical, in-demand skills and unparalleled job placement support. With expert instructors and flexible learning, your tech future starts here."
primaryButton={{
text: "Our Mission",
href: "#",
}}
secondaryButton={{
text: "Why Choose Us?",
href: "#",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/an-inspiring-shot-of-a-modern-it-academy-1780588512513-f59f444b.png"
/>
</SectionErrorBoundary>
</div>
<div id="programs" data-section="programs">
<SectionErrorBoundary name="programs">
<FeaturesAlternatingSplit
tag="Our Programs"
title="Build Real-World Tech Skills"
description="Dive into high-demand fields with our expertly crafted courses. Each program emphasizes hands-on training, industry-relevant tools, and certifications that open doors."
items={[
{
title: "Cloud Computing Mastery",
description: "Become proficient in AWS, Azure, or Google Cloud. Learn infrastructure, deployment, and management to build scalable cloud solutions.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-person-intently-focusing-on-a-computer-1780588508689-e7b664ab.jpg",
},
{
title: "Cybersecurity Specialist",
description: "Protect digital assets and networks from threats. Master ethical hacking, threat detection, and incident response with real-world scenarios.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-group-of-diverse-students-collaboratin-1780588506647-df991968.png",
},
{
title: "Full-Stack Web Development",
description: "From front-end aesthetics to back-end logic, learn to build robust web applications using the latest frameworks and best practices.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-conceptual-image-representing-career-p-1780588510825-e39ec2ee.png",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="Proven Success in Tech Careers"
description="Our commitment extends beyond the classroom. We measure our success by your career achievements."
metrics={[
{
value: "90%+",
description: "Job Placement Rate within 6 months of graduation.",
},
{
value: "Top 15%",
description: "Alumni salary growth compared to national averages.",
},
{
value: "500+",
description: "Graduates currently employed in leading tech companies.",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamStackedCards
tag="Our Mentors"
title="Learn From Industry Experts"
description="Our instructors are not just teachers; they are active professionals in their fields, bringing real-world insights and connections directly into your learning experience."
members={[
{
name: "Dr. Alex Sharma",
role: "Lead Cloud Architect (AWS)",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-a-seasoned-male-tech-instruc-1780588506216-e111d3e7.jpg",
},
{
name: "Sarah Chen",
role: "Senior Cybersecurity Analyst",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-an-engaging-female-tech-inst-1780588506180-163bd9ac.png",
},
{
name: "Michael 'Mike' Jones",
role: "Full-Stack Development Lead",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-a-diverse-tech-instructor-la-1780588505941-5bc4472b.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Success Stories"
title="What Our Alumni Say"
description="Hear directly from our graduates who have successfully launched and advanced their careers in the tech industry."
testimonials={[
{
name: "Aisha Khan",
role: "Cloud Engineer",
quote: "IT Academy gave me the practical skills and confidence to pivot my career. The instructors were phenomenal, always sharing real-world advice.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-smiling-young-professional-1780588507884-93d50dc8.png",
},
{
name: "Ben Carter",
role: "Junior Cyber Analyst",
quote: "The cybersecurity program was intense but incredibly rewarding. I landed my dream job just three months after graduating!",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-professional-early-30s-loo-1780588505982-e0d6e3ed.png",
},
{
name: "Chloe Davies",
role: "Web Developer",
quote: "I started with zero coding experience. Now, I'm building complex applications. The hands-on projects were key to my learning.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-confident-individual-late--1780588508232-99aa37f6.png",
},
{
name: "David Lee",
role: "Data Scientist",
quote: "Flexible scheduling allowed me to study while working. The career support was invaluable for my job search.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-an-enthusiastic-individual-m-1780588506300-fa9d7371.jpg",
},
{
name: "Emily Rodriguez",
role: "DevOps Specialist",
quote: "IT Academy's curriculum is truly industry-aligned. I felt fully prepared for my role, thanks to their in-depth training.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-content-professional-early-1780588506470-79e69658.jpg",
},
{
name: "Frank White",
role: "Network Administrator",
quote: "The certification prep was excellent. I passed my exams with flying colors and immediately saw a boost in my career prospects.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-determined-and-successful--1780588506131-994afff6.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Transparent Pricing"
title="Invest in Your Future"
description="Choose a program that fits your budget and career goals. No hidden fees, just clear pathways to success."
plans={[
{
tag: "Beginner",
price: "$2,500",
description: "Ideal for foundational skills.",
features: [
"Access to core modules",
"Online learning portal",
"Community support forum",
"Career preparation workshops",
],
},
{
tag: "Professional",
price: "$4,800",
description: "Comprehensive career development.",
features: [
"All Beginner features",
"Advanced specialization tracks",
"One-on-one mentor sessions",
"Certification exam vouchers",
],
},
{
tag: "Executive",
price: "$7,200",
description: "Accelerated path to leadership.",
features: [
"All Professional features",
"Executive coaching program",
"Guaranteed internship placement",
"Direct employer introductions",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="partners" data-section="partners">
<SectionErrorBoundary name="partners">
<SocialProofMarquee
tag="Trusted By"
title="Our Valued Employer Network"
description="We partner with leading tech companies and innovative startups to ensure our curriculum is relevant and our graduates find opportunities."
names={[
"Tech Solutions Inc.",
"Global Innovations",
"Digital Dynamics",
"Future Systems Corp.",
"NextGen Labs",
"Quantum Leap Tech",
"Synergy IT",
"Vertex Analytics",
"Pioneer Software",
]}
/>
</SectionErrorBoundary>
</div>
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get Started"
text="Ready to Launch Your Tech Career?"
primaryButton={{
text: "Apply Now",
href: "#",
}}
secondaryButton={{
text: "Speak to an Advisor",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<HeroSection />
<LeadGenSection />
<AboutSection />
<ProgramsSection />
<MetricsSection />
<TeamSection />
<TestimonialsSection />
<PricingSection />
<PartnersSection />
<FaqSection />
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,29 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Us"
title="Your Path to a Thriving Tech Career"
description="At IT Academy, we transform ambitious individuals into skilled tech professionals. Our programs are designed for career-switchers and those seeking to upskill, focusing on practical, in-demand skills and unparalleled job placement support. With expert instructors and flexible learning, your tech future starts here."
primaryButton={{
text: "Our Mission",
href: "#",
}}
secondaryButton={{
text: "Why Choose Us?",
href: "#",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/an-inspiring-shot-of-a-modern-it-academy-1780588512513-f59f444b.png"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,20 @@
// Created by add_section_from_catalog (ContactSplitForm).
import React from 'react';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function ContactSection(): React.JSX.Element {
return (
<div data-webild-section="contact" id="contact">
<ContactSplitForm
buttonText="Send Message"
imageSrc="https://images.unsplash.com/photo-1573164713988-8665fc963095?auto=format&fit=crop&q=80"
title="Get in Touch"
textarea={{"required":true,"placeholder":"How can we help you?","name":"message","rows":4}}
description="Fill out the form below and our admissions team will get back to you shortly."
inputs={[{"required":true,"placeholder":"Your Name","name":"name","type":"text"},{"required":true,"placeholder":"Your Email","name":"email","type":"email"},{"required":true,"placeholder":"Inquiry Type (e.g., Admissions, Corporate Training)","name":"inquiry_type","type":"text"}]}
tag="Contact Us"
/>
</div>
);
}

View File

@@ -0,0 +1,17 @@
// Created by add_section_from_catalog (FeaturesAlternatingSplit).
import React from 'react';
import FeaturesAlternatingSplit from '@/components/sections/features/FeaturesAlternatingSplit';
export default function FaqSection(): React.JSX.Element {
return (
<div data-webild-section="faq" id="faq">
<FeaturesAlternatingSplit
items={[{"title":"Do I need prior coding experience?","imageSrc":"https://images.unsplash.com/photo-1517694712202-14dd9538aa97?q=80&w=2070&auto=format&fit=crop","description":"No prior experience is required for our beginner-friendly programs. We start with the basics and progressively build your skills to an advanced level."},{"imageSrc":"https://images.unsplash.com/photo-1521737604893-d14cc237f11d?q=80&w=2084&auto=format&fit=crop","description":"We provide comprehensive career services including resume reviews, mock interviews, portfolio building, and direct introductions to our hiring partners.","title":"What kind of career support do you offer?"},{"title":"Are the classes online or in-person?","imageSrc":"https://images.unsplash.com/photo-1531482615713-2afd69097998?q=80&w=2070&auto=format&fit=crop","description":"We offer both flexible online cohorts and immersive in-person classes at our campus, allowing you to choose the learning style that best fits your schedule."}]}
description="Find answers to common questions about our IT academy, programs, and career support."
tag="FAQ"
title="Frequently Asked Questions"
/>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "hero" section.
import React from 'react';
import HeroBrand from '@/components/sections/hero/HeroBrand';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroBrand
brand="Launch Your Tech Career in Months"
description="Industry-recognized certifications. Hands-on training. Real job outcomes. Start with expert instructors who work in the field."
primaryButton={{
text: "Explore Programs",
href: "#programs",
}}
secondaryButton={{
text: "Speak to an Advisor",
href: "#contact",
}}
imageSrc="https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/professional-clean-image-of-a-diverse-gr-1780588509984-cf47c070.png"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,19 @@
// Created by add_section_from_catalog (ContactSplitForm).
import React from 'react';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function LeadGenSection(): React.JSX.Element {
return (
<div data-webild-section="lead-gen" id="lead-gen">
<ContactSplitForm
description="Take the first step towards your tech career. Speak with an advisor to find the right program for your goals and background."
buttonText="Request Consultation"
tag="Free Consultation"
title="Request a Free Consultation"
inputs={[{"required":true,"name":"name","placeholder":"Full Name","type":"text"},{"type":"email","placeholder":"Email Address","name":"email","required":true},{"placeholder":"Phone Number","type":"tel","name":"phone","required":false}]}
imageSrc="https://picsum.photos/seed/1412377332/1200/800"
/>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Impact"
title="Proven Success in Tech Careers"
description="Our commitment extends beyond the classroom. We measure our success by your career achievements."
metrics={[
{
value: "90%+",
description: "Job Placement Rate within 6 months of graduation.",
},
{
value: "Top 15%",
description: "Alumni salary growth compared to national averages.",
},
{
value: "500+",
description: "Graduates currently employed in leading tech companies.",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,31 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "partners" section.
import React from 'react';
import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PartnersSection(): React.JSX.Element {
return (
<div id="partners" data-section="partners">
<SectionErrorBoundary name="partners">
<SocialProofMarquee
tag="Trusted By"
title="Our Valued Employer Network"
description="We partner with leading tech companies and innovative startups to ensure our curriculum is relevant and our graduates find opportunities."
names={[
"Tech Solutions Inc.",
"Global Innovations",
"Digital Dynamics",
"Future Systems Corp.",
"NextGen Labs",
"Quantum Leap Tech",
"Synergy IT",
"Vertex Analytics",
"Pioneer Software",
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,55 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Transparent Pricing"
title="Invest in Your Future"
description="Choose a program that fits your budget and career goals. No hidden fees, just clear pathways to success."
plans={[
{
tag: "Beginner",
price: "$2,500",
description: "Ideal for foundational skills.",
features: [
"Access to core modules",
"Online learning portal",
"Community support forum",
"Career preparation workshops",
],
},
{
tag: "Professional",
price: "$4,800",
description: "Comprehensive career development.",
features: [
"All Beginner features",
"Advanced specialization tracks",
"One-on-one mentor sessions",
"Certification exam vouchers",
],
},
{
tag: "Executive",
price: "$7,200",
description: "Accelerated path to leadership.",
features: [
"All Professional features",
"Executive coaching program",
"Guaranteed internship placement",
"Direct employer introductions",
],
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "programs" section.
import React from 'react';
import FeaturesAlternatingSplit from '@/components/sections/features/FeaturesAlternatingSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProgramsSection(): React.JSX.Element {
return (
<div id="programs" data-section="programs">
<SectionErrorBoundary name="programs">
<FeaturesAlternatingSplit
tag="Our Programs"
title="Build Real-World Tech Skills"
description="Dive into high-demand fields with our expertly crafted courses. Each program emphasizes hands-on training, industry-relevant tools, and certifications that open doors."
items={[
{
title: "Cloud Computing Mastery",
description: "Become proficient in AWS, Azure, or Google Cloud. Learn infrastructure, deployment, and management to build scalable cloud solutions.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-person-intently-focusing-on-a-computer-1780588508689-e7b664ab.jpg",
},
{
title: "Cybersecurity Specialist",
description: "Protect digital assets and networks from threats. Master ethical hacking, threat detection, and incident response with real-world scenarios.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-group-of-diverse-students-collaboratin-1780588506647-df991968.png",
},
{
title: "Full-Stack Web Development",
description: "From front-end aesthetics to back-end logic, learn to build robust web applications using the latest frameworks and best practices.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/a-conceptual-image-representing-career-p-1780588510825-e39ec2ee.png",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "team" section.
import React from 'react';
import TeamStackedCards from '@/components/sections/team/TeamStackedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TeamSection(): React.JSX.Element {
return (
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamStackedCards
tag="Our Mentors"
title="Learn From Industry Experts"
description="Our instructors are not just teachers; they are active professionals in their fields, bringing real-world insights and connections directly into your learning experience."
members={[
{
name: "Dr. Alex Sharma",
role: "Lead Cloud Architect (AWS)",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-a-seasoned-male-tech-instruc-1780588506216-e111d3e7.jpg",
},
{
name: "Sarah Chen",
role: "Senior Cybersecurity Analyst",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-an-engaging-female-tech-inst-1780588506180-163bd9ac.png",
},
{
name: "Michael 'Mike' Jones",
role: "Full-Stack Development Lead",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/portrait-of-a-diverse-tech-instructor-la-1780588505941-5bc4472b.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,58 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "testimonials" section.
import React from 'react';
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialColumnMarqueeCards
tag="Success Stories"
title="What Our Alumni Say"
description="Hear directly from our graduates who have successfully launched and advanced their careers in the tech industry."
testimonials={[
{
name: "Aisha Khan",
role: "Cloud Engineer",
quote: "IT Academy gave me the practical skills and confidence to pivot my career. The instructors were phenomenal, always sharing real-world advice.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-smiling-young-professional-1780588507884-93d50dc8.png",
},
{
name: "Ben Carter",
role: "Junior Cyber Analyst",
quote: "The cybersecurity program was intense but incredibly rewarding. I landed my dream job just three months after graduating!",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-professional-early-30s-loo-1780588505982-e0d6e3ed.png",
},
{
name: "Chloe Davies",
role: "Web Developer",
quote: "I started with zero coding experience. Now, I'm building complex applications. The hands-on projects were key to my learning.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-confident-individual-late--1780588508232-99aa37f6.png",
},
{
name: "David Lee",
role: "Data Scientist",
quote: "Flexible scheduling allowed me to study while working. The career support was invaluable for my job search.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-an-enthusiastic-individual-m-1780588506300-fa9d7371.jpg",
},
{
name: "Emily Rodriguez",
role: "DevOps Specialist",
quote: "IT Academy's curriculum is truly industry-aligned. I felt fully prepared for my role, thanks to their in-depth training.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-content-professional-early-1780588506470-79e69658.jpg",
},
{
name: "Frank White",
role: "Network Administrator",
quote: "The certification prep was excellent. I passed my exams with flying colors and immediately saw a boost in my career prospects.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3AJb0zJP2EWyuYlH5wmRP5jjTA5/headshot-of-a-determined-and-successful--1780588506131-994afff6.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/case-studies', label: 'Case Studies', pageFile: 'CaseStudiesPage' },
];