From 116864c8386a8c3056d29752a9ecc0976af7afac Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 16 Sep 2026 08:47:12 +0330 Subject: [PATCH] a --- app/about/page.tsx | 64 +-- app/contact/page.tsx | 31 +- app/page.tsx | 2 +- app/project/page.tsx | 177 +++--- app/services/page.tsx | 18 +- components/ServiceCard.tsx | 85 +++ components/ServicesGrid.tsx | 20 + components/banner/CtaBanner.tsx | 95 ++-- components/banner/Sectionbanner.tsx | 44 ++ components/features/home/hero-section.tsx | 8 +- .../features/projects/projects-section.tsx | 404 ++++++++++---- .../features/services/services-bento-grid.tsx | 506 ++++++++---------- components/shared/footer.jsx | 4 +- components/shared/header.tsx | 6 +- public/image/aicall2.png | Bin 0 -> 1128640 bytes public/image/neo.png | Bin 0 -> 1057790 bytes public/image/payai.png | Bin 0 -> 1164041 bytes public/image/student2.png | Bin 0 -> 1471377 bytes 18 files changed, 859 insertions(+), 605 deletions(-) create mode 100644 components/ServiceCard.tsx create mode 100644 components/ServicesGrid.tsx create mode 100644 components/banner/Sectionbanner.tsx create mode 100644 public/image/aicall2.png create mode 100644 public/image/neo.png create mode 100644 public/image/payai.png create mode 100644 public/image/student2.png diff --git a/app/about/page.tsx b/app/about/page.tsx index 6b684a6..2a415ca 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -33,7 +33,6 @@ function LinkedInIcon({ className = 'w-4 h-4' }: { className?: string }) { interface BoardMember { name: string; role: string; - title: string; image: string; linkedin?: string; email?: string; @@ -41,28 +40,19 @@ interface BoardMember { const boardMembers: BoardMember[] = [ { - name: 'نام و نام‌خانوادگی عضو ۱', + name: 'علی صالح ابوالقاسمی', role: 'رئیس هیئت مدیره', - title: 'دکتری مدیریت فناوری اطلاعات', image: '/images/team/member-1.jpg', - linkedin: 'https://linkedin.com', - email: 'board1@company.ir' }, { - name: 'نام و نام‌خانوادگی عضو ۲', - role: 'مدیرعامل و عضو هیئت مدیره', - title: 'کارشناس ارشد مهندسی نرم‌افزار', + name: 'علی گلشنی', + role: 'عضو هیئت مدیره', image: '/images/team/member-2.jpg', - linkedin: 'https://linkedin.com', - email: 'board2@company.ir' }, { - name: 'نام و نام‌خانوادگی عضو ۳', - role: 'نایب‌رئیس هیئت مدیره', - title: 'کارشناس ارشد مدیریت سیستم‌ها', + name: 'فراز فیروزبخت', + role: 'عضو هیئت مدیره', image: '/images/team/member-3.jpg', - linkedin: 'https://linkedin.com', - email: 'board3@company.ir' } ]; @@ -80,7 +70,7 @@ export default function AboutPage() {
{/* ردیف اصلی Hero */} -
+
{/* سمت راست: بیانیه مأموریت و توضیحات */} - {/* تگ وضعیت سیستم */} -
- - - - - Enterprise FinTech & System Engineering -
- {/* تیتر با افکت گرادیان نوری */}

- توسعه زیرساخت‌های نرم‌افزاری مقیاس‌پذیر و امنیت‌محور بانکی + توسعه زیرساخت‌های نرم افزاری

{/* متن معرفی */} @@ -222,8 +203,7 @@ export default function AboutPage() { {/* ۲. اعضای هیئت مدیره */}
-

ارکان راهبری و هیئت مدیره

-

Leadership & Governance

+

اعضای هیئت مدیره

@@ -262,34 +242,6 @@ export default function AboutPage() { {member.role} - -

- {member.title} -

- - {/* لینک‌های ارتباطی */} -
- {member.linkedin && ( - - - - )} - {member.email && ( - - - - )} -
))}
diff --git a/app/contact/page.tsx b/app/contact/page.tsx index 0513984..aec80fe 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -20,7 +20,7 @@ import { // دسته‌بندی‌های فنی پروژه const projectCategories = [ - { id: 'core-banking', label: 'سامانه‌ها و ماژول‌های بانکی', icon: Server }, + { id: 'core-banking', label: ' سامانه ها و ماژول ها ', icon: Server }, { id: 'db-optimization', label: 'پایگاه‌داده و مقیاس‌پذیری', icon: Database }, { id: 'ai-engine', label: 'هوش مصنوعی و پردازش اسناد', icon: Cpu }, { id: 'custom-platform', label: 'داشبوردها و سامانه‌های عملیاتی', icon: Layers } @@ -81,15 +81,7 @@ export default function ContactPage() { {/* ۱. Hero Section */}
- - - KICKOFF & COLLABORATION TERMINAL - + - آغاز یک همکاری مهندسی،
- - پایدار و فراتر از مقیاس - +

+ آغاز یک همکاری +

- آماده هم‌افزایی فنی جهت طراحی و اجرای ماژول‌های با پرفورمنس بالا، بازطراحی زیرساخت‌های قدیمی و راهکارهای یکپارچه سازمانی. + آماده هم‌افزایی فنی جهت طراحی و اجرای ماژول‌های با پرفورمنس بالا، بازطراحی زیرساخت‌های قدیمی و راهکارهای یکپارچه
@@ -142,7 +133,7 @@ export default function ContactPage() { {/* انتخاب نوع پروژه */}
{projectCategories.map((cat) => { @@ -269,7 +260,7 @@ export default function ContactPage() {
DIRECT INBOX - engineering@domain.ir + zharfanovin@gmail.com
@@ -279,7 +270,7 @@ export default function ContactPage() {
TECHNICAL LINE - +98 (21) 8800-0000 + 28427192
@@ -289,7 +280,7 @@ export default function ContactPage() {
LOCATION - تهران، نارمک، پردیس نوآوری + شریعی/میرمطهری/پلاک 14
@@ -338,7 +329,7 @@ export default function ContactPage() { {/* Footer ساده و هماهنگ */}
- SYSTEM ENGINEERING // ENTERPRISE ARCHITECTURE + ژرفا نواوری داده و آینده
); diff --git a/app/page.tsx b/app/page.tsx index 4e054fe..abf6e33 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,7 +1,7 @@ import CtaBanner from "@/components/banner/CtaBanner"; import HeroSection from "@/components/features/home/hero-section"; import ProjectsSection from "@/components/features/projects/projects-section"; -import { ServicesBentoGrid } from "@/components/features/services/services-bento-grid"; +import ServicesBentoGrid from "@/components/features/services/services-bento-grid"; import { Footer } from "@/components/shared/footer"; diff --git a/app/project/page.tsx b/app/project/page.tsx index 09522af..73507ea 100644 --- a/app/project/page.tsx +++ b/app/project/page.tsx @@ -6,11 +6,7 @@ import Header from "@/components/shared/header"; import Footer from "@/components/shared/footer"; import { ExternalLink, - GitBranch, CheckCircle2, - Workflow, - ShieldCheck, - Database, Terminal } from "lucide-react"; @@ -22,60 +18,106 @@ interface ProjectItem { highlights: string[]; techStack: string[]; status: string; + image?: string; // آدرس تصویر پروژه } const projectsData: ProjectItem[] = [ { id: 1, - title: "سامانه یکپارچه پرتال و اینترانت بانکی", - category: "سیستم‌های سازمانی و اینترانت", - description: "طراحی و توسعه معماری متمرکز جهت مدیریت احراز هویت، کارتابل سازمانی، ماژول‌های آماری و دسترسی‌پذیری بالا برای پرسنل شعب.", + title: "مرکز تماس هوشمند", + category: "هوش مصنوعی و تحلیل داده‌های صوتی", + description: "پلتفرم تحلیل مکالمات صوتی مرکز تماس مبتنی بر STT و LLM جهت ارزیابی خودکار عملکرد کارشناسان، سنجش احساسات مشتری و استخراج KPIهای سازمانی.", highlights: [ - "مدیریت سطوح دسترسی پیچیده (RBAC) و احراز هویت متمرکز", - "معماری ماژولار کارتابل با پشتیبانی از صف‌های پردازشی سنگین", - "یکپارچه‌سازی با هسته سامانه‌های بانکی (Core Banking)" + "تبدیل خودکار و دقیق گفتار به متن (Speech-to-Text) با پشتیبانی تخصصی از زبان فارسی", + "ارزیابی خودکار شاخص‌های عملکردی (KPI)، لحن، ادب و پایبندی به اسکریپت سازمانی", + "تحلیل احساسات (Sentiment Analysis) و خلاصه‌سازی هوشمند مکالمات جهت ثبت در CRM", + "یکپارچه‌سازی کامل با زیرساخت‌های VoIP / Asterisk و پایپ‌لاین‌های پردازش صوت" ], - techStack: ["Laravel 11", "PostgreSQL", "Redis", "Filament", "Docker"], - status: "Production / Enterprise" + techStack: [ + "Python", + "FastAPI", + "Whisper / STT", + "LLM / LangChain", + "PostgreSQL", + "Redis", + "Docker" + ], + status: "Production / AI Solution", + image: "/image/aicall2.png" // مسیر تصویر دلخواه خود را اینجا وارد کنید }, { id: 2, - title: "سامانه هوشمند مدیریت شیفت و پرسنل بانکی", - category: "پلتفرم عملیاتی و لجستیک", - description: "پیاده‌سازی موتور تخصیص خودکار شیفت‌ها، مدیریت جایگزینی و اعلان‌های آنی جهت بهینه‌سازی توزیع نیروی انسانی در شبکه شعب.", + title: "پلتفرم هوشمند تمرینات ورزشی نیوفیت", + category: "سلامت، فیتنس و تحلیل داده‌های ورزشی", + description: "سامانه جامع و هوشمند صدور برنامه‌های تمرینی اختصاصی مبتنی بر ارزیابی دقیق فاکتورهای بیومتریک و سبک زندگی کاربران، همراه با سیستم زمان‌بندی داینامیک و ارائه‌دهنده محتوای چندرسانه‌ای آموزشی.", highlights: [ - "الگوریتم زمان‌بندی پویا جهت پیشگیری از تداخل کاری", - "سیستم اعلان‌های بلادرنگ (Real-time WebSockets)", - "گزارش‌گیری تحلیلی با بازدهی بالا و کشینگ چندلایه‌ای" + "موتور ارزیابی و پروفایلینگ پیشرفته کاربر (قد، وزن، سابقه تمرینی، سطح استرس، شاخص فعالیت روزانه و اهداف فردی)", + "تولید خودکار و هوشمند برنامه‌های تمرینی شخصی‌سازی‌شده متناسب با محیط تمرین (خانه / باشگاه) و اهداف ورزشی", + "سیستم زمان‌بندی منعطف و تقویم داینامیک جهت مدیریت روزها، ساعات و فازبندی جلسات تمرینی", + "طراحی هوشمند متغیرهای تمرین شامل ساختار ست‌بندی، الگوهای بارگذاری و توصیه‌های تکنیکی و بیومکانیکی هر حرکت", + "پایگاه داده چندرسانه‌ای بهینه‌سازی‌شده برای استریم روان ویدیوهای آموزشی اجرای صحیح حرکات و نکات کلیدی" ], - techStack: ["FastAPI", "Python", "PostgreSQL", "Redis", "React"], - status: "Deployed" + techStack: [ + "Flutter / React Native", + "FastAPI / Python", + "PostgreSQL", + "Redis", + "Object Storage / CDN", + "Docker" + ], + status: "Production / Mobile Application", + image: "/image/neo.png" // مسیر تصویر دلخواه خود را اینجا وارد کنید }, { id: 3, - title: "پایپ‌لاین رویدادمحور و موتور پردازش داده (TMS & Store)", - category: "معماری توزیع‌شده و میکروسرویس", - description: "طراحی زیرساخت پردازش غیرهمگام رویدادها جهت مدیریت دوره‌های آموزشی سازمانی و ثبت سفارشات درون‌سازمانی با تضمین تحویل پیام.", + title: "دستیار هوشمند فروش و پشتیبانی", + category: "هوش مصنوعی، RAG و عامل‌های هوشمند (AI Agents)", + description: "سامانه دستیار هوشمند سازمانی مبتنی بر معماری RAG و عامل‌های گفتگومحور؛ مسلط به کل محتوای وب‌سایت، محصولات و مستندات جهت افزایش نرخ تبدیل فروش و کاهش ۷۰ درصدی تیکت‌های پشتیبانی.", highlights: [ - "به‌کارگیری Kafka و RabbitMQ برای انتشار و مصرف پیام‌ها", - "طراحی الگوهای Idempotency و Circuit Breaker در ارتباطات", - "کاهش لیتنسی پردازش داده‌های حجیم به زیر ۵۰ میلی‌ثانیه" + "پیاده‌سازی معماری پیشرفته RAG (Retrieval-Augmented Generation) با سینک خودکار کاتالوگ و صفحات", + "عامل هوشمند فروش (Sales Agent) جهت هدایت رفتار کاربر به سبد خرید و افزایش Conversion Rate", + "کاهش بیش از ۷۰ درصدی بار تیکت‌های پشتیبانی با پاسخ‌دهی بلادرنگ، بدون Hallucination و مستند به داده‌های سازمان", + "یکپارچه‌سازی از طریق Webhook / API با سیستم‌های انبارداری و سفارشات (Live Stock / Order Status)", + "نصب و تعبیه بسیار سریع در وب‌سایت‌ها تنها از طریق یک Script Tag سبک" ], - techStack: ["Laravel", "Kafka", "RabbitMQ", "Docker", "CI/CD"], - status: "Microservices" + techStack: [ + "Python", + "FastAPI", + "LangChain / LlamaIndex", + "Qdrant / Vector DB", + "OpenAI / Local LLMs", + "Redis", + "Docker" + ], + status: "Production / AI Solution", + image: "/image/payai.png" // مسیر تصویر دلخواه خود را اینجا وارد کنید }, { id: 4, - title: "موتور جستجوی معنایی و پایگاه دانش برداری (RAG)", - category: "سیستم‌های مبتنی بر هوش مصنوعی", - description: "طراحی و استقرار پایپ‌لاین تولید و نمایه‌سازی بردارهای متنی مستندات بانکی جهت پرسش‌وپاسخ هوشمند و بازیابی دقیق اسناد سازمانی.", + title: "معلم و دستیار آموزشی هوشمند", + category: "هوش مصنوعی، RAG و فناوری‌های آموزشی (EdTech)", + description: "پلتفرم جامع آموزش تعاملی و یادگیری شخصی‌سازی‌شده مبتنی بر معماری RAG و پردازش صوت دوطرفه؛ مسلط بر کتب درسی رسمی جهت رفع توهم هوش مصنوعی (Zero Hallucination)، طراحی آزمون، تصحیح خودکار و تولید درسنامه.", highlights: [ - "ذخیره‌سازی و کوئری‌گیری پرسرعت با Qdrant Vector Database", - "استراتژی Chunking بهینه‌شده برای اسناد فارسی و اصطلاحات تخصصی", - "اتصال امن به مدل‌های زبانی محلی بدون خروج داده‌های محرمانه" + "پیاده‌سازی معماری RAG بر روی متون کتب درسی رسمی با ارجاع دقیق به سرفصل‌ها و پاراگراف‌ها جهت جلوگیری از Hallucination", + "موتور هوشمند تولید آزمون‌های تستی و تشریحی در سه سطح دشواری با سناریوهای شب امتحان", + "تصحیح تحلیلی پاسخ‌های تشریحی دانش‌آموز با تحلیل گام‌به‌گام و ارائه فیدبک مفهومی مبتنی بر رفرنس کتاب", + "تعامل صوتی دوطرفه (Voice-Enabled) با موتورهای تبدیل متن به گفتار (TTS) و گفتار به متن فارسی (STT)", + "ماژول خلاصه‌سازی خودکار فصول، تولید درسنامه‌های ساختاریافته و استخراج نکات کلیدی شب امتحان", + "معماری مقیاس‌پذیر و ماژولار جهت مدیریت پیک ترافیک و درخواست‌های همزمان در ایام امتحانات" ], - techStack: ["Python", "FastAPI", "Qdrant", "PostgreSQL", "Docker"], - status: "R&D / Production" + techStack: [ + "Python", + "FastAPI", + "LangChain / LlamaIndex", + "Qdrant / Milvus (Vector DB)", + "Whisper / STT & TTS", + "OpenAI / Local LLMs", + "PostgreSQL", + "Redis", + "Docker" + ], + status: "Production / AI Solution", + image: "/image/student2.png" // مسیر تصویر دلخواه خود را اینجا وارد کنید } ]; @@ -96,16 +138,11 @@ export default function ProjectsPage() { transition={{ duration: 0.6 }} className="mx-auto max-w-3xl" > -
- - پروژه‌ها و سیستم‌های مقیاس‌پذیر -
- -

- معماری نرم‌افزار، سامانه‌های سازمانی و بک‌اند +

+ معماری نرم‌افزار سامانه‌های سازمانی

- نمونه‌ای از سیستم‌های تحت وب، میکروسرویس‌ها و پایپ‌لاین‌های مقیاس‌پذیر که با تمرکز بر امنیت، کارایی بالا و پایداری شبکه توسعه یافته‌اند. + نمونه‌ای از سیستم‌های تحت وب، میکروسرویس‌ها و پایپ‌لاین‌های مقیاس‌پذیر با تمرکز بر امنیت

@@ -181,7 +218,7 @@ export default function ProjectsPage() { - {/* ستون کارت سیستم */} + {/* ستون تصویر سیستم */}
+ {/* هدر پنجره */}
@@ -198,41 +236,24 @@ export default function ProjectsPage() {
- system://node.svc_0{project.id} + preview://node.svc_0{project.id}
-
-
-
سطح دسترس‌پذیری و امنیت:
-
- - High Availability • Multi-layer Auth + {/* قاب تصویر پروژه */} +
+ {project.image ? ( + {project.title} + ) : ( +
+ + No Preview Available
-
- -
-
-
- - دیتابیس / کش -
-
PostgreSQL + Redis
-
-
-
- - جریان پیام‌ها -
-
Async Queues
-
-
- -
- $ runtime.optimize(--workers=8 --cache=redis) -
- ✓ status: operational [200 OK] -
+ )}
@@ -251,11 +272,11 @@ export default function ProjectsPage() { آماده پیاده‌سازی و توسعه سیستم‌های پیچیده

- اگر نیاز به مشاوره معماری نرم‌افزار، مقیاس‌پذیری سرویس‌ها یا پیاده‌سازی ماژول‌های اینترانت و سازمانی دارید، در ارتباط باشید. + اگر نیاز به مشاوره معماری نرم‌افزار، مقیاس‌پذیری سرویس‌ها یا پیاده‌سازی ماژول‌های اینترانت و سازمانی دارید

شروع همکاری فنی diff --git a/app/services/page.tsx b/app/services/page.tsx index 0255b22..ef4d042 100644 --- a/app/services/page.tsx +++ b/app/services/page.tsx @@ -133,23 +133,15 @@ export default function ServicesPage() { {/* ۱. Hero Section */}
- - - Engineering Capabilities & Solutions - + - خدمات تخصصی مهندسی سیستم و راهکارهای مالی + خدمات تخصصی مهندسی سیستم - ارائه خدمات یکپارچه نرم‌افزاری در مقیاس سازمانی، از معماری پایگاه‌های داده با تراکنش بالا تا طراحی زیرساخت‌های پایدار و امنیت‌محور بانکی. + ارائه خدمات یکپارچه نرم‌افزاری در مقیاس سازمانی، از معماری پایگاه‌های داده با تراکنش بالا تا طراحی زیرساخت‌های پایدار
- - {/* ۲. Engineering Workflow Highlight */} = ({ service, index }) => { + const Icon = service.icon; + + return ( + + {/* Header Card */} +
+
+
+ +
+ + {service.id} + +
+ +

+ {service.title} +

+

+ {service.subtitle} +

+ +

+ {service.description} +

+ + {/* Capabilities List */} +
+ قابلیت‌های کلیدی: + {service.capabilities.map((cap, i) => ( +
+ + {cap} +
+ ))} +
+
+ + {/* Tech Stack Footer */} +
+ {service.techStack.map((tech) => ( + + {tech} + + ))} +
+
+ ); +}; + +export default ServiceCard; diff --git a/components/ServicesGrid.tsx b/components/ServicesGrid.tsx new file mode 100644 index 0000000..5656a3e --- /dev/null +++ b/components/ServicesGrid.tsx @@ -0,0 +1,20 @@ +'use client'; + +import React from 'react'; +import ServiceCard, { type ServiceItem } from './ServiceCard'; // ایمپورت کامپوننت کارت و تایپ آن + +interface ServicesGridProps { + services: ServiceItem[]; +} + +const ServicesGrid: React.FC = ({ services }) => { + return ( +
+ {services.map((service, index) => ( + + ))} +
+ ); +}; + +export default ServicesGrid; diff --git a/components/banner/CtaBanner.tsx b/components/banner/CtaBanner.tsx index 8bd75c2..f35b4c1 100644 --- a/components/banner/CtaBanner.tsx +++ b/components/banner/CtaBanner.tsx @@ -2,13 +2,31 @@ import React from "react"; import { motion } from "framer-motion"; +import { ExternalLink, LucideIcon } from "lucide-react"; +// تنظیمات انیمیشن نرم برای Framer Motion const customEase: [number, number, number, number] = [0.16, 1, 0.3, 1]; -export default function CtaBanner() { +// اینترفیس پراپ‌ها +interface CallToActionProps { + title?: string; + description?: string; + buttonText?: string; + buttonLink?: string; + Icon?: LucideIcon; +} + +export default function CallToAction({ + title = "آماده پیاده‌سازی و توسعه سیستم‌های پیچیده", + description = "اگر نیاز به مشاوره معماری نرم‌افزار، مقیاس‌پذیری سرویس‌ها یا پیاده‌سازی ماژول‌های اینترانت و سازمانی دارید، در ارتباط باشید.", + buttonText = "شروع همکاری فنی", + buttonLink = "mailto:contact@example.com", + Icon = ExternalLink, +}: CallToActionProps) { return ( + // بخش اصلی با کنترلر موس و افکت Spotlight بدون تغییر باقی می‌ماند
{ const { currentTarget, clientX, clientY } = e; const { left, top } = currentTarget.getBoundingClientRect(); @@ -16,63 +34,42 @@ export default function CtaBanner() { currentTarget.style.setProperty("--mouse-y", `${clientY - top}px`); }} > - {/* ======================================================== - پس‌زمینه کاملاً منطبق با سکشن Projects - ======================================================== */} - {/* افکت Spotlight */} + {/* افکت‌های پس‌زمینه (Spotlight و Grid) بدون تغییر */}
diff --git a/components/banner/Sectionbanner.tsx b/components/banner/Sectionbanner.tsx new file mode 100644 index 0000000..86833fe --- /dev/null +++ b/components/banner/Sectionbanner.tsx @@ -0,0 +1,44 @@ + import React from "react"; +import { ExternalLink, LucideIcon } from "lucide-react"; + +// تعریف تایپ‌ها برای انعطاف‌پذیری کامپوننت (پراپ‌های اختیاری) +interface CallToActionProps { + title?: string; + description?: string; + buttonText?: string; + buttonLink?: string; + Icon?: LucideIcon; +} + +export default function Sectionbanner({ + title = "آماده پیاده‌سازی و توسعه سیستم‌های پیچیده", + description = "اگر نیاز به مشاوره معماری نرم‌افزار، مقیاس‌پذیری سرویس‌ها یا پیاده‌سازی ماژول‌های اینترانت و سازمانی دارید، در ارتباط باشید.", + buttonText = "شروع همکاری فنی", + buttonLink = "mailto:contact@example.com", + Icon = ExternalLink, +}: CallToActionProps) { + return ( +
+
+ ); +} diff --git a/components/features/home/hero-section.tsx b/components/features/home/hero-section.tsx index 4a7fcc6..aade3ad 100644 --- a/components/features/home/hero-section.tsx +++ b/components/features/home/hero-section.tsx @@ -2,6 +2,7 @@ import { useRef } from "react"; import { motion, Variants, useScroll, useTransform } from "framer-motion"; +import Link from "next/link"; // تعریف Variants با انیمیشن‌های نرم‌تر و روان‌تر const containerVariants: Variants = { @@ -104,12 +105,15 @@ export default function Hero() { variants={itemVariants} className="mt-8 flex justify-center gap-4" > - + + + diff --git a/components/features/projects/projects-section.tsx b/components/features/projects/projects-section.tsx index 6c6cb0c..ea0ba65 100644 --- a/components/features/projects/projects-section.tsx +++ b/components/features/projects/projects-section.tsx @@ -1,134 +1,342 @@ "use client"; -import { motion } from "framer-motion"; -import Image from "next/image"; +import { useState } from "react"; +import { motion, AnimatePresence } from "framer-motion"; +import { + Landmark, + Banknote, + BarChart3, + ShieldCheck, + Workflow, + BadgeCheck, + Terminal, + ArrowLeft, +} from "lucide-react"; -// دیتای تستی پروژه‌ها (می‌توانید با دیتای واقعی جایگزین کنید) -const projects = [ +type ProjectStatus = "در حال بهره‌برداری" | "در حال توسعه" | "فاز آزمایشی"; + +interface Project { + id: string; + title: string; + domain: string; + status: ProjectStatus; + description: string; + stack: string[]; + metrics: { label: string; value: string }[]; + hasDetails: boolean; + Icon: typeof Landmark; + image: string; +} + +const customEase: [number, number, number, number] = [0.16, 1, 0.3, 1]; + +const projects: Project[] = [ { - id: 1, - title: "سیستم مدیریت مالی فراز", - category: "نرم‌افزار سازمانی", - description: "یک پلتفرم یکپارچه برای مدیریت منابع مالی سازمان‌ها با داشبوردهای تحلیلی در لحظه.", - image: "/project-1.jpg", // این عکس‌ها را در پوشه public قرار دهید - color: "from-blue-500/20 to-purple-500/20", + id: "core-banking-report", + title: "دستیار آموزشی و معلم هوشمند", + domain: "آموزشی / سازمانی", + status: "در حال بهره‌برداری", + description: + "این سیستم به جای ارائه پاسخ‌های عمومی، تمامی کتب درسی را در پایگاه دانش خود بلعیده و پردازش کرده است. نتیجه؟ یک معلم خصوصی بی‌نقص که ۲۴ ساعته در دسترس است، دقیقا بر اساس متن کتاب درسی آموزش می‌دهد، امتحان می‌گیرد، تصحیح می‌کند و با دانش‌آموز به صورت صوتی صحبت می‌کند.", + stack: ["Next.js", "TTS", "RAG", "Voice-Enabled Learning", "Speech-to-Text"], + metrics: [ + { label: "زمان تولید گزارش شبانه", value: "۴ دقیقه" }, + { label: "حجم پردازش روزانه", value: "۲.۱ میلیون رکورد" }, + ], + hasDetails: true, + Icon: Landmark, + image: "/image/student2.png", }, { - id: 2, - title: "اپلیکیشن سلامت‌جو", - category: "اپلیکیشن موبایل", - description: "سیستم نوبت‌دهی و پایش سلامت بیماران با قابلیت یکپارچه‌سازی با گجت‌های پوشیدنی.", - image: "/project-2.jpg", - color: "from-emerald-500/20 to-teal-500/20", + id: "treasury-dashboard", + title: "دستیار هوشمند فروش و پشتیبانی", + domain: "سازمانی / مالی", + status: "در حال بهره‌برداری", + description: + "راهکاری نوین برای کسب‌وکارهای آنلاین است که شکاف میان کاربر و محتوای سایت شما را پر می‌کند. این سیستم با خزش (Crawling) و ایندکس‌گذاری هوشمند تمامی صفحات وب‌سایت شما، به یک متخصصِ تمام‌عیار تبدیل می‌شود که تمامی محصولات، خدمات، قیمت‌ها و مستندات شما را می‌شناسد.", + stack: ["Next.js", "TypeScript", "NestJS", "Redis", "SQL Server"], + metrics: [ + { label: "کاربر همزمان", value: "۳۵۰+" }, + { label: "Uptime سه‌ماهه", value: "۹۹.۹۵٪" }, + ], + hasDetails: true, + Icon: Banknote, + image: "/image/payai.png", }, { - id: 3, - title: "پلتفرم فروشگاهی نوین‌شاپ", - category: "تجارت الکترونیک", - description: "فروشگاه‌ساز ابری با معماری میکروسرویس و قابلیت مقیاس‌پذیری بالا برای ترافیک‌های سنگین.", - image: "/project-3.jpg", - color: "from-orange-500/20 to-red-500/20", + id: "fraud-detection", + title: "مرکز تماس هوشمند", + domain: "بانکی / پشتیبانی", + status: "در حال توسعه", + description: + "«مرکز تماس هوشمند» فراتر از یک سیستم ضبط مکالمه است. این پلتفرم با استفاده از فناوری‌های پیشرفته Speech-to-Text (STT) و LLM، تمامی تماس‌های ورودی و خروجی مرکز تماس شما را تحلیل کرده و شاخص‌های کلیدی عملکرد (KPI) را به صورت خودکار استخراج می‌کند.", + stack: ["Python", "FastAPI", "PostgreSQL", "Kafka", "Docker"], + metrics: [ + { label: "زمان امتیازدهی هر تراکنش", value: "< ۴۰ میلی‌ثانیه" }, + { label: "هشدارهای نادرست", value: "کاهش ۳۱٪" }, + ], + hasDetails: true, + Icon: ShieldCheck, + image: "/image/aicall2.png", }, { - id: 4, - title: "اتوماسیون اداری هوشمند", - category: "هوش مصنوعی", - description: "سامانه اتوماسیون مبتنی بر هوش مصنوعی برای دسته‌بندی خودکار نامه‌ها و ارجاعات.", - image: "/project-4.jpg", - color: "from-indigo-500/20 to-blue-500/20", + id: "bpm-automation", + title: "اپلیکیشن ورزشی نئوفیت", + domain: "ورزشی / آموزشی", + status: "در حال بهره‌برداری", + description: + "دستیار هوشمند شما برای رسیدن به تناسب اندام ایده‌آل است. این اپلیکیشن با تحلیل دقیق ویژگی‌های جسمانی، سبک زندگی و شرایط محیطی، برنامه تمرینی کاملاً اختصاصی برای شما تدوین می‌کند. با نیوفیت، می‌توانید زمان و مکان تمرین را به سادگی تعیین کنید.", + stack: ["Next.js", "Node.js", "PostgreSQL", "RabbitMQ"], + metrics: [ + { label: "فرایند فعال", value: "۱۲ فرایند" }, + { label: "کاهش زمان تأییدیه", value: "۴۵٪" }, + ], + hasDetails: true, + Icon: Workflow, + image: "/image/neo.png", }, ]; -// منحنی انیمیشن لوکس (همان که در Hero استفاده کردیم) -const customEase: [number, number, number, number] = [0.16, 1, 0.3, 1]; +/** کامپوننت تصویر پروژه */ +function ProjectImage({ project, index }: { project: Project; index: number }) { + return ( +