diff --git a/public/file.svg b/public/file.svg
deleted file mode 100644
index 004145c..0000000
--- a/public/file.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/fonts/ModamWeb-Bold.woff2 b/public/fonts/ModamWeb-Bold.woff2
new file mode 100644
index 0000000..23ba174
Binary files /dev/null and b/public/fonts/ModamWeb-Bold.woff2 differ
diff --git a/public/globe.svg b/public/globe.svg
deleted file mode 100644
index 567f17b..0000000
--- a/public/globe.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/next.svg b/public/next.svg
deleted file mode 100644
index 5174b28..0000000
--- a/public/next.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/vercel.svg b/public/vercel.svg
deleted file mode 100644
index 7705396..0000000
--- a/public/vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/window.svg b/public/window.svg
deleted file mode 100644
index b2b2a44..0000000
--- a/public/window.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/app/globals.css b/src/app/globals.css
index a2dc41e..a7cfd74 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -1,26 +1,27 @@
@import "tailwindcss";
:root {
- --background: #ffffff;
- --foreground: #171717;
+ --background: #060b14;
+ --foreground: #ffffff;
+ --card: #0d1522;
+ --border: #1e293b;
+ --input: #151e2d;
+ --accent: #f97316;
+ --muted: #64748b;
}
@theme inline {
- --color-background: var(--background);
+ --color-bg: var(--background);
--color-foreground: var(--foreground);
- --font-sans: var(--font-geist-sans);
- --font-mono: var(--font-geist-mono);
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --background: #0a0a0a;
- --foreground: #ededed;
- }
+ --color-card: var(--card);
+ --color-border: var(--border);
+ --color-input: var(--input);
+ --color-accent: var(--accent);
+ --color-muted: var(--muted);
}
body {
- background: var(--background);
+ direction: rtl;
+ background-color: var(--background);
color: var(--foreground);
- font-family: Arial, Helvetica, sans-serif;
}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 976eb90..c85d95c 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,20 +1,16 @@
import type { Metadata } from "next";
-import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
+import localFont from "next/font/local";
+import Navbar from "@/components/shared/Navbar";
-const geistSans = Geist({
- variable: "--font-geist-sans",
- subsets: ["latin"],
-});
-
-const geistMono = Geist_Mono({
- variable: "--font-geist-mono",
- subsets: ["latin"],
+const modam = localFont({
+ src: "../../public/fonts/ModamWeb-Bold.woff2",
+ weight: "100 900",
});
export const metadata: Metadata = {
- title: "Create Next App",
- description: "Generated by create next app",
+ title: "رایین شبکه | توسعه نرمافزار",
+ description: "ساخت اپلیکیشنهای وب مدرن و سیستمهای سازمانی",
};
export default function RootLayout({
@@ -23,11 +19,11 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
-
-
{children}
+
+
+
+ {children}
+
);
}
diff --git a/src/app/software/page.tsx b/src/app/software/page.tsx
new file mode 100644
index 0000000..e2305aa
--- /dev/null
+++ b/src/app/software/page.tsx
@@ -0,0 +1,20 @@
+// app/software/page.tsx
+import Hero from "@/components/software/Hero";
+import Services from "@/components/software/Services";
+import TechStack from "@/components/software/TechStack";
+import Process from "@/components/software/Process";
+import Projects from "@/components/software/Projects";
+import ContactFooter from "@/components/software/ContactFooter";
+
+export default function SoftwarePage() {
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/shared/Navbar.tsx b/src/components/shared/Navbar.tsx
new file mode 100644
index 0000000..dfef643
--- /dev/null
+++ b/src/components/shared/Navbar.tsx
@@ -0,0 +1,26 @@
+export default function Navbar() {
+ return (
+
+
+
+ رایین شبکه
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/software/ContactFooter.tsx b/src/components/software/ContactFooter.tsx
new file mode 100644
index 0000000..c3d8f05
--- /dev/null
+++ b/src/components/software/ContactFooter.tsx
@@ -0,0 +1,104 @@
+// components/software/ContactFooter.tsx
+export default function ContactFooter() {
+ return (
+
+
+ {/* Right Side: Info & Footer */}
+
+
🎧 مشاوره تخصصی رایین شبکه
+
آماده شروع پروژه نرمافزاری هستید؟
+
+ نیازت رو ثبت کن تا تیم رایین شبکه بر اساس مسئله واقعی کسبوکارت، مسیر اجرای فنی و زمانی پیشنهادی رو ارائه بده.
+
+
+
+ {["تماس اولیه در کمتر از ۲۴ ساعت کاری", "تحلیل اولیه متناسب با نوع پروژه", "نقشه اجرا + برآورد زمانبندی"].map((item, i) => (
+ -
+ ✓
+ {item}
+
+ ))}
+
+
+
+
+
رایین شبکه
+
+ معماری سیستم، تولید محتوا و اجرای راهکارهای فنی برای رشد پایدار کسبوکارها.
+
+
+
+
+
+ {["صفحه اصلی", "خدمات", "پروژهها", "تکنولوژی"].map((link, i) => (
+ -
+
+ {link}
+
+
+ ))}
+
+
+
+
+
+ ۰۹۱۲-۰۰۰-۰۰۰۰
+ 📱
+
+
+ info@raeinnetwork.ir
+ ✉
+
+
+
+
+
+
© ۲۰۲۶ رایین شبکه . تمامی حقوق محفوظ است.
+
+
+ {/* Left Side: Form */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/software/Hero.tsx b/src/components/software/Hero.tsx
new file mode 100644
index 0000000..c453ac4
--- /dev/null
+++ b/src/components/software/Hero.tsx
@@ -0,0 +1,44 @@
+export default function Hero() {
+ return (
+
+
+ ⚙ توسعه نرمافزار سفارشی
+
+
+
+ از ایده تا
+ پلتفرم زنده
+
+
+
+ ساخت اپلیکیشنهای وب مدرن، API های مقیاسپذیر و سیستمهای سازمانی با معماری تمیز و کد قابل نگهداری.
+
+
+
+
+
+ +۵۰
+
+
پروژه تحویلی
+
+
+
+
+ ٪۹۸
+
+
رضایت مشتری
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/components/software/Process.tsx b/src/components/software/Process.tsx
new file mode 100644
index 0000000..0b0ea2a
--- /dev/null
+++ b/src/components/software/Process.tsx
@@ -0,0 +1,96 @@
+// components/software/Process.tsx
+export default function Process() {
+ const steps = [
+ {
+ number: "۰۱",
+ icon: "🔍",
+ title: "Discovery",
+ description: "تحلیل نیازمندی و تعریف محدوده پروژه",
+ tags: ["Requirements", "Research"],
+ },
+ {
+ number: "۰۲",
+ icon: "🎨",
+ title: "Design",
+ description: "طراحی UI/UX و معماری سیستم",
+ tags: ["Wireframes", "Architecture"],
+ },
+ {
+ number: "۰۳",
+ icon: "💻",
+ title: "Development",
+ description: "کدنویسی با استانداردهای بالا",
+ tags: ["Clean Code", "Git Flow"],
+ },
+ {
+ number: "۰۴",
+ icon: "🐛",
+ title: "Testing",
+ description: "تست و کنترل کیفیت کامل",
+ tags: ["Unit Tests", "QA"],
+ },
+ {
+ number: "۰۵",
+ icon: "🚀",
+ title: "Deployment",
+ description: "استقرار و راهاندازی Production",
+ tags: ["CI/CD", "Docker"],
+ },
+ {
+ number: "۰۶",
+ icon: "⚙️",
+ title: "Support",
+ description: "پشتیبانی و نگهداری مستمر",
+ tags: ["Monitoring", "Updates"],
+ },
+ ];
+
+ const badges = [
+ { icon: "⏱", title: "۲-۴", subtitle: "هفته Sprint" },
+ { icon: "🔄", title: "Agile", subtitle: "Methodology" },
+ { icon: "🎧", title: "۲۴/۷", subtitle: "Support" },
+ ];
+
+ return (
+
+
+
فرآیند توسعه نرمافزار
+
از ایده تا محصول نهایی با متدولوژی Agile
+
+
+
+ {steps.map((step, i) => (
+
+
+ {step.number}
+
+
+ {step.icon}
+
+
{step.title}
+
{step.description}
+
+ {step.tags.map((tag, j) => (
+
+ {tag}
+
+ ))}
+
+
+ ))}
+
+
+
+ {badges.map((badge, i) => (
+
+
+
{badge.title}
+
{badge.subtitle}
+
+
{badge.icon}
+
+ ))}
+
+
+ );
+}
diff --git a/src/components/software/Projects.tsx b/src/components/software/Projects.tsx
new file mode 100644
index 0000000..8c4835b
--- /dev/null
+++ b/src/components/software/Projects.tsx
@@ -0,0 +1,126 @@
+// components/software/Projects.tsx
+"use client";
+
+import { useState } from "react";
+
+const projects = [
+ {
+ type: "وب اپلیکیشن",
+ company: "شرکت آتیساز",
+ title: "پلتفرم مدیریت پروژه",
+ description: "سیستم جامع مدیریت پروژه با قابلیت ردیابی وظایف و گزارشگیری Real-time",
+ tech: ["⚛ Next.js + TypeScript", "🐘 PostgreSQL + Prisma"],
+ stat: "👤 +۵۰۰ کاربر",
+ year: "۲۰۲۶",
+ },
+ {
+ type: "داشبورد تحلیلی",
+ company: "گروه مالی پارسیان",
+ title: "داشبورد تحلیل داده",
+ description: "پنل تحلیلی با نمودارهای تعاملی و گزارشهای لحظهای برای تیم مدیریت",
+ tech: ["⚛ React + Chart.js", "🟢 Node.js + WebSocket"],
+ stat: "📈 Real-time",
+ year: "۲۰۲۶",
+ },
+ {
+ type: "Backend API",
+ company: "استارتاپ دیجیمارکت",
+ title: "API فروشگاه آنلاین",
+ description: "RESTful API مقیاسپذیر با معماری Microservices برای پلتفرم تجارت الکترونیک",
+ tech: ["⚙ NestJS + TypeScript", "🐳 Docker + Kubernetes"],
+ stat: "🚀 Microservices",
+ year: "۲۰۲۵",
+ },
+ {
+ type: "وب اپلیکیشن",
+ company: "موسسه آموزشی نوین",
+ title: "پلتفرم آموزشی",
+ description: "سیستم LMS پیشرفته با قابلیت برگزاری کلاس آنلاین و ارزیابی خودکار",
+ tech: ["🟢 Vue.js + Nuxt", "🍃 MongoDB + Redis"],
+ stat: "📚 +۱۰۰۰ دوره",
+ year: "۲۰۲۵",
+ },
+];
+
+const filters = ["همه", "وب اپ", "API", "داشبورد"];
+
+export default function Projects() {
+ const [activeFilter, setActiveFilter] = useState("همه");
+
+ return (
+
+
+
پروژههای نرمافزاری
+
منتخب پروژههای نرمافزاری با تمرکز بر کیفیت کد و معماری تمیز
+
+
+
+
+ {filters.map((filter) => (
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+
+
+ {projects.map((project, i) => (
+
+
+
+
+ {project.type}
+ {project.company}
+
+
+
+
{project.title}
+
{project.description}
+
+
+
+ {project.tech.map((tech, j) => (
+
+ {tech}
+
+ ))}
+
+
+
+
{project.stat}
+
{project.year}
+
+
+ ))}
+
+
+
+
+ );
+}
diff --git a/src/components/software/Services.tsx b/src/components/software/Services.tsx
new file mode 100644
index 0000000..8cf0f96
--- /dev/null
+++ b/src/components/software/Services.tsx
@@ -0,0 +1,55 @@
+const services = [
+ {
+ icon: "💻",
+ title: "توسعه وب اپلیکیشن",
+ description: "ساخت اپلیکیشنهای وب پیشرفته با React, Next.js و Vue.js",
+ },
+ {
+ icon: "⚡",
+ title: "طراحی و توسعه API",
+ description: "ساخت RESTful و GraphQL API های مقیاسپذیر",
+ },
+ {
+ icon: "☁",
+ title: "راهاندازی ابری",
+ description: "استقرار و مدیریت اپلیکیشن در زیرساخت ابری",
+ },
+ {
+ icon: "🎛",
+ title: "پنلهای مدیریتی",
+ description: "داشبوردهای تحلیلی و سیستمهای مدیریت محتوا",
+ },
+ {
+ icon: "📱",
+ title: "اپلیکیشن موبایل",
+ description: "توسعه اپهای کراسپلتفرم با React Native",
+ },
+ {
+ icon: "⚙",
+ title: "اتوماسیون فرآیندها",
+ description: "خودکارسازی وظایف تکراری و بهینهسازی جریان کار",
+ },
+];
+
+export default function Services() {
+ return (
+
+
+
خدمات توسعه نرمافزار
+
راهکارهای جامع از طراحی تا استقرار و نگهداری
+
+
+
+ {services.map((service, i) => (
+
+
+ {service.icon}
+
+
{service.title}
+
{service.description}
+
+ ))}
+
+
+ );
+}
diff --git a/src/components/software/TechStack.tsx b/src/components/software/TechStack.tsx
new file mode 100644
index 0000000..1b9909c
--- /dev/null
+++ b/src/components/software/TechStack.tsx
@@ -0,0 +1,120 @@
+"use client";
+
+import { useState } from "react";
+
+const techItems = [
+ { name: "React", icon: "⚛️", orbit: 1, description: "کتابخانه قدرتمند برای ساخت رابطهای تعاملی" },
+ { name: "Next.js", icon: "▲", orbit: 1, description: "فریمورک پیشرفته React برای پروژههای تولیدی" },
+
+ { name: "TypeScript", icon: "TS", orbit: 2, description: "جاوااسکریپت تایپدار برای کد امنتر و قابل نگهداری" },
+ { name: "Node.js", icon: "🟢", orbit: 2, description: "محیط اجرای سمت سرور با سرعت بالا" },
+
+ { name: "PostgreSQL", icon: "🐘", orbit: 3, description: "پایگاه داده رابطهای قدرتمند با امکانات پیشرفته" },
+ { name: "MongoDB", icon: "🍃", orbit: 3, description: "پایگاه داده NoSQL سریع و مقیاسپذیر" },
+
+ { name: "Docker", icon: "🐳", orbit: 4, description: "کانتینرسازی برای استقرار و توسعه یکپارچه" },
+ { name: "AWS", icon: "☁️", orbit: 4, description: "سرویسهای ابری امن و مقیاسپذیر" },
+];
+
+export default function TechStack() {
+ const [selected, setSelected] = useState(techItems[0]);
+
+ return (
+
+
+
تکنولوژیهای ما
+
اکوسیستم کامل توسعه نرمافزار در یک نگاه
+
+
+
+ {/* ============================= */}
+ {/* ORBITAL TECH SYSTEM */}
+ {/* ============================= */}
+
+ {/* Center glowing core */}
+
+ 🚀
+
+
+ {/* Orbit rings */}
+ {[1, 2, 3, 4].map((orbit) => (
+
+ ))}
+
+ {/* Rotating tech icons */}
+ {techItems.map((tech, i) => {
+ const radius = tech.orbit * 65;
+ const speed = 25 + tech.orbit * 10;
+ const delay = i * -4;
+
+ return (
+
+
+
+ );
+ })}
+
+
+ {/* ============================= */}
+ {/* INFORMATION CARD */}
+ {/* ============================= */}
+
+
+ {selected.icon}
+
+
+
{selected.name}
+
+
{selected.description}
+
+
+
+ {/* Keyframes */}
+
+
+ );
+}