العودة إلى الرئيسية

الوثائق التقنية

آخر تحديث:

مرحبًا بك في وثائق SM Supports. يساعدك هذا الدليل الشامل على فهم عملية التطوير لدينا والتقنيات التي نعتمد عليها وعمليات تكامل API وأفضل الممارسات للعمل مع خدماتنا.

البدء

يمكنك اتباع هذه الخطوات للبدء مع خدمات SM Supports ومشاريعها.

  1. الاستشارة الأولية

    تحديد موعد مكالمة استشارية مجانية لمناقشة متطلبات مشروعك وأهدافه وجدوله الزمني.

    تحديد موعد مكالمة
  2. تخطيط المشروع

    نعدّ خطة مشروع مفصلة تشمل نطاق العمل والمراحل الرئيسية والمخرجات والجدول الزمني. ويصلك منا عرض مشروع شامل يوضح جميع جوانب المشروع.

  3. التطوير والتعاون

    يبدأ فريقنا التطوير مع اجتماعات متابعة منتظمة وإطلاعك أولًا بأول على المستجدات. ويتاح لك الوصول إلى بيئات الاختبار (Staging) لمراجعة التقدم وإبداء ملاحظاتك طوال مراحل العمل.

  4. الإطلاق والدعم

    بعد اختبار شامل وموافقتك، نطلق مشروعك. ونواصل تقديم الدعم والصيانة والتوثيق لضمان نجاحه على المدى الطويل.

التقنيات المستخدمة

نستخدم تقنيات حديثة ورائدة في المجال لتطوير تطبيقات عالية الأداء وقابلة للتوسع.

تطوير الواجهات الأمامية

  • Next.js 15 – إطار عمل React مع App Router
  • React 18 – مكتبة لبناء واجهات المستخدم قائمة على المكونات
  • TypeScript – لغة JavaScript مع تحقق من الأنواع
  • Tailwind CSS – إطار CSS قائم على الفئات المساعدة (Utility-first)
  • Framer Motion – مكتبة للرسوم المتحركة

الواجهات الخلفية وواجهات API

  • Node.js – بيئة تشغيل JavaScript
  • Next.js API Routes – دوال بدون خوادم (Serverless)
  • REST APIs – بنية RESTful
  • Cloudflare Workers – الحوسبة الطرفية (Edge)
  • Resend – خدمة إرسال البريد الإلكتروني

قواعد البيانات والتخزين

  • Cloudflare D1 – قاعدة بيانات SQLite بدون خوادم
  • PostgreSQL – قاعدة بيانات علائقية
  • MongoDB – قاعدة بيانات NoSQL
  • Redis – تخزين مؤقت في الذاكرة

المنصات والأدوات

  • Wix – منصة لبناء المواقع
  • Velo (Wix Code) – وظائف مخصصة
  • Git & GitHub – إدارة الإصدارات
  • Vercel – منصة النشر

مرجع API

توثيق نقاط نهاية API وخدمات التكامل لدينا.

POST /api/contact

إرسال استفسار عبر نموذج التواصل

POST

جسم الطلب:

{
  "name": "string",
  "email": "string",
  "subject": "string",
  "message": "string"
}

الاستجابة (200):

{
  "success": true,
  "message": "Message sent successfully"
}

POST /api/schedule

حجز اجتماع استشاري

POST

جسم الطلب:

{
  "name": "string",
  "email": "string",
  "company": "string",
  "date": "string",
  "time": "string",
  "timezone": "string",
  "projectType": "string",
  "description": "string"
}

GET /api/timeslots

جلب المواعيد المتاحة للحجز

GET

معلمات الاستعلام:

?date=2025-10-02&timezone=America/New_York

الاستجابة (200):

{
  "availableSlots": ["09:00", "10:00", "14:00"],
  "bookedSlots": ["11:00", "15:00"]
}

النشر والاستضافة

ننشر التطبيقات على منصات رائدة في المجال لتحقيق أفضل أداء وموثوقية.

Vercel (المنصة الأساسية)

منصتنا الأساسية لنشر تطبيقات Next.js، مع CI/CD تلقائي ودوال طرفية (Edge Functions) وشبكة CDN عالمية.

  • نشر تلقائي من Git
  • عمليات نشر للمعاينة لطلبات الدمج (Pull Requests)
  • شبكة طرفية تضم أكثر من 100 موقع
  • تحليلات ومراقبة مدمجة

Cloudflare Pages وWorkers

منصة حوسبة طرفية للدوال بدون خوادم وقاعدة بيانات D1 واستضافة المواقع الثابتة.

  • قاعدة بيانات D1 SQLite بدون خوادم
  • Workers للحوسبة الطرفية
  • R2 لتخزين الكائنات
  • الحماية من هجمات DDoS والأمان

حلول استضافة مخصصة

نعمل أيضًا مع مزودي استضافة متنوعين حسب متطلبات كل مشروع.

  • AWS (EC2 وS3 وCloudFront وLambda)
  • DigitalOcean (Droplets وApp Platform)
  • Netlify (المواقع الثابتة والدوال الطرفية)
  • Heroku (النشر عبر الحاويات)

أفضل الممارسات

إرشادات وتوصيات للعمل على مشاريع SM Supports.

جودة الشيفرة البرمجية

  • استخدام TypeScript لضمان سلامة الأنواع وتحسين تجربة المطورين
  • اتباع إعدادات ESLint وPrettier للحفاظ على أسلوب موحد في كتابة الشيفرة
  • كتابة رسائل commit واضحة وفق معيار Conventional Commits
  • إبقاء المكونات صغيرة ومركزة وقابلة لإعادة الاستخدام
  • توثيق المنطق المعقد وواجهات API

تحسين الأداء

  • تحسين الصور باستخدام مكون Image في Next.js
  • تطبيق التحميل الكسول (Lazy Loading) للمحتوى غير الظاهر عند فتح الصفحة
  • استخدام React Server Components حيثما أمكن
  • تقليل حجم الحزمة عبر تقسيم الشيفرة (Code Splitting) وإزالة الشيفرة غير المستخدمة (Tree Shaking)
  • التخزين المؤقت لاستجابات API والملفات الثابتة بالشكل المناسب

الأمان

  • عدم إضافة البيانات الحساسة أو مفاتيح API إلى نظام إدارة الإصدارات مطلقًا
  • استخدام متغيرات البيئة للإعدادات
  • التحقق من صحة المدخلات وتنقيتها بشكل سليم
  • استخدام HTTPS في جميع عمليات النشر في بيئة الإنتاج
  • تحديث الاعتماديات باستمرار لسد الثغرات الأمنية

إمكانية الوصول (A11y)

  • استخدام عناصر HTML الدلالية (nav وmain وarticle وغيرها)
  • توفير نص بديل (alt) لجميع الصور
  • ضمان نسب تباين ألوان مناسبة
  • إتاحة استخدام العناصر التفاعلية عبر لوحة المفاتيح
  • الاختبار باستخدام قارئات الشاشة وأدوات فحص إمكانية الوصول

استكشاف الأخطاء وإصلاحها

المشكلات الشائعة وحلولها.

أخطاء البناء

المشكلة: يفشل البناء بسبب أخطاء TypeScript أو ESLint

الحل:

  • تشغيل npm run lint لتحديد المشكلات
  • التحقق من الاعتماديات الناقصة في package.json
  • التأكد من تحديد أنواع جميع عمليات الاستيراد بشكل صحيح
  • مسح المجلد .next ثم إعادة البناء

مشكلات الاتصال بواجهات API

المشكلة: نقاط نهاية API تعيد أخطاء أو تنتهي مهلتها

الحل:

  • التحقق من ضبط متغيرات البيئة بشكل صحيح
  • مراجعة حدود معدل الطلبات والحصص في API
  • مراجعة إعدادات CORS للطلبات بين المصادر المختلفة
  • مراقبة تبويب Network ضمن أدوات المطور (DevTools) في المتصفح

مشكلات الأداء

المشكلة: بطء تحميل الصفحات أو انخفاض نتائج Lighthouse

الحل:

  • تحسين الصور (استخدام صيغة WebP وأحجام مناسبة)
  • تفعيل التحميل الكسول للصور والمكونات
  • تقليل حجم حزمة JavaScript
  • استخدام التخزين المؤقت الطرفي (Edge Caching) لاستجابات API
  • تطبيق حالات تحميل مناسبة

بحاجة إلى مزيد من المساعدة؟

إذا لم يكن ما يلزمك موجودًا هنا، ففريقنا جاهز لمساعدتك في أي أسئلة أو دعم تقني.

البريد الإلكتروني:
[email protected]
الهاتف:
(+880) 13013-60818
ساعات العمل:
من الاثنين إلى الجمعة، 9:00 ص – 6:00 م (بتوقيت بنغلاديش، BST)