diff --git a/package-lock.json b/package-lock.json index 41571df..d464793 100644 --- a/package-lock.json +++ b/package-lock.json @@ -53,13 +53,14 @@ "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-hook-form": "^7.61.1", + "react-icons": "^5.6.0", "react-markdown": "^10.1.0", "react-resizable-panels": "^2.1.9", "react-router-dom": "^6.30.1", "recharts": "^2.15.4", "remark-gfm": "^4.0.1", "sonner": "^1.7.4", - "swiper": "^12.1.2", + "swiper": "^12.1.4", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "vaul": "^0.9.9", @@ -8017,6 +8018,15 @@ "react": "^16.8.0 || ^17 || ^18 || ^19" } }, + "node_modules/react-icons": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz", + "integrity": "sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -8798,17 +8808,17 @@ } }, "node_modules/swiper": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-12.1.2.tgz", - "integrity": "sha512-4gILrI3vXZqoZh71I1PALqukCFgk+gpOwe1tOvz5uE9kHtl2gTDzmYflYCwWvR4LOvCrJi6UEEU+gnuW5BtkgQ==", + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/swiper/-/swiper-12.1.4.tgz", + "integrity": "sha512-bihiwoKMOQwW8FfdUbo1DgkVH25E+4ZELIq0oopL1KTKBteLuaTMi/wwFjMxtlhTkk45k3XQ89D1Fvv0spSqBA==", "funding": [ { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" + "type": "custom", + "url": "https://sponsors.nolimits4web.com" }, { - "type": "open_collective", - "url": "http://opencollective.com/swiper" + "type": "github", + "url": "https://github.com/sponsors/nolimits4web" } ], "license": "MIT", diff --git a/package.json b/package.json index e014e74..38ec427 100644 --- a/package.json +++ b/package.json @@ -58,13 +58,14 @@ "react-day-picker": "^8.10.1", "react-dom": "^18.3.1", "react-hook-form": "^7.61.1", + "react-icons": "^5.6.0", "react-markdown": "^10.1.0", "react-resizable-panels": "^2.1.9", "react-router-dom": "^6.30.1", "recharts": "^2.15.4", "remark-gfm": "^4.0.1", "sonner": "^1.7.4", - "swiper": "^12.1.2", + "swiper": "^12.1.4", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "vaul": "^0.9.9", diff --git a/src/App.tsx b/src/App.tsx index 56a88e0..8c3323a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -15,6 +15,7 @@ import { PrivacyPolicy } from "./pages/PrivacyPolicy"; import ProjectDetails from "./pages/ProjectDetails"; import Projects from "./pages/Projects"; import { QueryProvider } from "./provider/QueryProvider"; +import Technologies from "./pages/Technologies"; function AnimatedRoutes() { const location = useLocation(); @@ -27,6 +28,7 @@ function AnimatedRoutes() { } /> } /> } /> + }/> {/* } /> } /> */} {/* ADD ALL CUSTOM ROUTES ABOVE THE CATCH-ALL "*" ROUTE */} diff --git a/src/components/home/ServicesSection.tsx b/src/components/home/ServicesSection.tsx index d7efef3..1898c30 100644 --- a/src/components/home/ServicesSection.tsx +++ b/src/components/home/ServicesSection.tsx @@ -50,11 +50,14 @@ export default function ServicesSection() { >

- What We Do + + Services {" "} + + We Provide

- We deliver comprehensive technology solutions that empower - businesses to thrive in the digital age. + We design and develop digital products that solve real business + problems and create better user experiences.

diff --git a/src/components/services/AISolutions.tsx b/src/components/services/AISolutions.tsx new file mode 100644 index 0000000..dbee625 --- /dev/null +++ b/src/components/services/AISolutions.tsx @@ -0,0 +1,100 @@ +import { motion } from "framer-motion"; +import { MdAutoGraph, MdPsychology, MdQueryStats } from "react-icons/md"; + +const aiSolutions = [ + { + title: "NLP & LLMs", + icon: , + desc: "Custom language models and chatbots tailored to your specific business data.", + features: ["Sentiment Analysis", "Entity Recognition", "Auto-Support"], + color: "#3b82f6", // Blue + }, + { + title: "Predictive Analytics", + icon: , + desc: "Turn historical data into future-proof strategies with deep learning.", + features: ["Trend Forecasting", "Risk Assessment", "User Behavior"], + color: "#a855f7", // Purple + }, + { + title: "Computer Vision", + icon: , + desc: "Extracting actionable insights from visual data and real-time streams.", + features: ["Object Detection", "Image Synthesis", "Facial Recognition"], + color: "#10b981", // Emerald + }, +]; + +export const AISolutions = () => { + return ( +
+
+ {/* Header Section */} +
+

+ AI Solutions +

+ +

+ We build AI-powered features and automation tools that help + businesses save time, improve workflows, and deliver smarter user + experiences. +

+
+ + {/* Grid Layout */} +
+ {aiSolutions.map((solution, i) => ( + + {/* Subtle Background Glow */} +
+ + {/* Icon & Title */} +
+ {solution.icon} +
+ +

+ {solution.title} +

+ +

{solution.desc}

+ + {/* Feature Tags */} +
+ {solution.features.map((feature) => ( + + {feature} + + ))} +
+ + {/* Bottom Accent Line */} +
+ + ))} +
+
+
+ ); +}; diff --git a/src/components/services/CloudSolutions.tsx b/src/components/services/CloudSolutions.tsx new file mode 100644 index 0000000..d801f7d --- /dev/null +++ b/src/components/services/CloudSolutions.tsx @@ -0,0 +1,96 @@ +import { motion } from "framer-motion"; +import { MdCloudQueue, MdSecurity } from "react-icons/md"; +import { SiDocker } from "react-icons/si"; + +const cloudServices = [ + { + title: "Serverless Architecture", + icon: , + desc: "Scale to millions of users without managing a single server.", + color: "text-orange-400", + border: "group-hover:border-orange-500/50", + }, + { + title: "Containerization", + icon: , + desc: "Orchestrated deployments using Docker for zero-downtime.", + color: "text-blue-400", + border: "group-hover:border-blue-500/50", + }, + { + title: "Cyber Security", + icon: , + desc: "End-to-end encryption and automated threat detection.", + color: "text-emerald-400", + border: "group-hover:border-emerald-500/50", + }, +]; + +export const CloudSolutions = () => { + return ( +
+
+ {/* Left Side: Content */} + +

+ Cloud {" "} + Solutions +

+

+ We build high-availability cloud systems that guarantee reliability, + performance, and a scalable architecture for the modern web. +

+ + {/* Optional: Simple CTA or stat to fill space */} +
+
+

99.9%

+

Uptime

+
+
+

Global

+

Edge Network

+
+
+
+ + {/* Right Side: Cards */} +
+ {cloudServices.map((service, i) => ( + + {/* Icon Container */} +
+ {service.icon} +
+ + {/* Text Content */} +
+

+ {service.title} +

+

+ {service.desc} +

+
+
+ ))} +
+
+
+ ); +}; diff --git a/src/components/services/MobileService.tsx b/src/components/services/MobileService.tsx new file mode 100644 index 0000000..289dff8 --- /dev/null +++ b/src/components/services/MobileService.tsx @@ -0,0 +1,113 @@ +import { motion } from "framer-motion"; +import React from "react"; +import { MdCloudQueue } from "react-icons/md"; +import { SiFlutter, SiKotlin, SiSwift } from "react-icons/si"; + +// 1. Define the interface for your timeline items +interface TimelineItem { + title: string; + icon: React.ReactNode; + desc: string; + color: string; +} + +const timelineData: TimelineItem[] = [ + { + title: "iOS Native", + icon: , + desc: "Premium Swift-based applications optimized for the Apple ecosystem performance.", + color: "text-[#00B4D8]", + }, + { + title: "Android Native", + icon: , + desc: "Robust Kotlin applications built for scalability across all Android devices.", + color: "text-[#2E8B57]", + }, + { + title: "Cross-Platform", + icon: , + desc: "High-performance Flutter apps with a single codebase for iOS and Android.", + color: "text-[#7B2D8E]", + }, + { + title: "Cloud Sync", + icon: , + desc: "Real-time data synchronization and secure backend cloud integration.", + color: "text-primary", + }, +]; + +export default function MobileHorizontalTimeline(): React.JSX.Element { + return ( +
+ {/* Header Section */} +
+

+ Mobile App Development Services +

+

+

+ We develop mobile applications that are smooth, reliable, and built + to deliver a better experience for your users. +

+

+
+ +
+ {/* Horizontal Spine */} +
+ + {/* Scroll Container */} +
+ {timelineData.map((item, index) => ( +
+ {/* Icon Node */} +
+ + {item.icon} + +
+ + {/* 3D Flip Card */} + +
+
+ {/* Front Side */} +
+ + {item.icon} + +

+ {item.title} +

+

+ {item.desc} +

+
+
+
+
+
+ ))} +
+
+
+ ); +} diff --git a/src/components/services/WebDev.tsx b/src/components/services/WebDev.tsx new file mode 100644 index 0000000..a02e967 --- /dev/null +++ b/src/components/services/WebDev.tsx @@ -0,0 +1,136 @@ +import { + SiFastapi, + SiGo, + SiJavascript, + SiNestjs, + SiNextdotjs, + SiNodedotjs, + SiReact, + SiTypescript, +} from "react-icons/si"; +import { TbApi } from "react-icons/tb"; + +export default function WebDev() { + const techStack = [ + { + name: "React", + icon: , + desc: "We use React to build fast, interactive, and smooth user interfaces that improve the overall user experience.", + color: "text-[#61DAFB]", + }, + { + name: "Next.js", + icon: , + desc: "We use Next.js for better performance, SEO, and scalable frontend applications that load quickly.", + color: "text-foreground", + }, + { + name: "TypeScript", + icon: , + desc: "We use TypeScript to write safer, maintainable code and reduce bugs in large-scale applications.", + color: "text-[#3178C6]", + }, + { + name: "JavaScript", + icon: , + desc: "JavaScript powers the core functionality of our web applications, making them dynamic and responsive.", + color: "text-[#F7DF1E]", + }, + { + name: "Node.js", + icon: , + desc: "We use Node.js to build fast, scalable backend systems capable of handling real-time applications and APIs.", + color: "text-[#339933]", + }, + { + name: "GoLang", + icon: , + desc: "We use Go for high-performance backend services that require speed, scalability, and efficient concurrency.", + color: "text-[#00ADD8]", + }, + { + name: "Fast API", + icon: , + desc: "We use FastAPI to develop secure and high-performance APIs with clean architecture and rapid development.", + color: "text-[#05998B]", + }, + + { + name: "Nest JS", + icon: , + desc: "We use NestJS to build structured, scalable, and enterprise-ready backend applications with clean architecture.", + color: "text-[#E0234E]", + }, + { + name: "Rest API", + icon: , + desc: "REST APIs help our applications communicate smoothly between frontend, backend, and third-party services.", + color: "text-primary", + }, + ]; + const services = [ + "Custom Web Application Development", + "E-commerce Solution Architectures", + "Real-time Dashboard Systems", + "API Design & Integration", + "Progressive Web Apps (PWA)", + "Legacy Code Migration", + ]; + return ( + <> +
+
+
+

+ Our Web Development{" "} + Services +

+

+ From business websites to complex web applications, we create + digital solutions focused on performance, usability, and growth. +

+
+ +
    + {services.map((service, i) => ( +
  • + + + {service} + +
  • + ))} +
+
+
+ {techStack.map((tech, index) => ( +
+ {/* Inner Wrapper for Flip */} +
+ {/* Front Side: Icon & Title */} +
+
+ {tech.icon} +
+

{tech.name}

+
+ + {/* Back Side: "Why we use it" */} +
+

+ Why we use it +

+

+ {tech.desc} +

+
+
+
+ ))} +
+
+ + ); +} diff --git a/src/pages/Technologies.tsx b/src/pages/Technologies.tsx new file mode 100644 index 0000000..533fd71 --- /dev/null +++ b/src/pages/Technologies.tsx @@ -0,0 +1,33 @@ +import { AISolutions } from "@/components/services/AISolutions"; +import { CloudSolutions } from "@/components/services/CloudSolutions"; +import MobileService from "@/components/services/MobileService"; +import WebDev from "@/components/services/WebDev"; +import PremiumBadge from "@/components/shared/PremiumBadge"; + +const Technologies = () => { + return ( +
+ {/* Hero Section */} +
+ + +

+ Modern Technology for Real
+ Business Needs. +

+

+ We leverage the most advanced and reliable technologies to build + scalable, high-performance digital solutions tailored to your needs. +

+
+ + {/* web Section */} + + + + +
+ ); +}; + +export default Technologies;