الانتقال إلى المحتوى
comark

منصات مخصصة، نبنيها من البنية صعودًا.

محركات حجز وبوابات ومنتجات SaaS، لما يتجاوز قدرة البرمجيات الجاهزة. نصمّم نموذج البيانات وواجهات API أولًا، ثم نبني المنتج فوقها، ونشغّل البنية التحتية تحته، مثل البحث متعدد المزوّدين الذي بنيناه لـ Nazarene Tours.

تتبّع تجريبي لطلب بحث واحد في منصة: المصادقة، فحص الذاكرة المؤقتة، ثلاثة استدعاءات للمزوّدين بالتوازي (أحدها تنتهي مهلته ويُعاد)، ثم الدمج والترتيب، بجانب استجابة JSON التي تمتلئ مع عودة كل استدعاء. ثم الطلب نفسه مرة أخرى من الذاكرة المؤقتة خلال 14 ms. جميع البيانات توضيحية.

ما نبنيه

منتجات يكمن الجزء الصعب منها تحت السطح.

يرى المستخدمون الواجهة، أما معظم العمل الهندسي ففي الطبقات التي تحتها.

  • واجهات API والخوادم

    واجهات REST يستخدمها موقعك وتطبيقاتك وشركاؤك.

  • تكاملات خارجية

    نستدعي واجهات المزوّدين والدفع والشركاء بالتوازي، مع معالجة المهلات وإعادة المحاولة.

  • البحث والتخزين المؤقت

    بحث سريع في مصادر بطيئة أو كبيرة، مع ذاكرة Redis مؤقتة نُبقيها جاهزة في الخلفية.

  • SaaS متعدد العملاء

    الحسابات والأدوار والباقات وفصل بيانات العملاء، لمنتجات تبيعها للآخرين.

  • أدوات الإدارة الداخلية

    الشاشات الداخلية التي يدير منها فريقك المحتوى والعملاء والعمليات.

  • تطبيقات الويب

    تطبيقات ويب بـ Next.js فوق واجهة API نفسها، فتقرأ كل الواجهات من مصدر واحد.

المنهجية

كيف نبني منصة.

نحسم قرارات البنية مبكرًا، لأنها الأعلى كلفة إن تغيّرت لاحقًا. وتنتهي كل خطوة بشيء تراجعه.

الخطوة 01المخاطر

الاكتشاف والمخاطر

المستخدمون والأحمال والتكاملات وما يجب أن يعمل من اليوم الأول. ونحدد الأجزاء الأكثر خطورة أولًا.

الخطوة 02عقود API

البنية

نوثّق نموذج البيانات وعقود API والاستضافة والأمان، ونتفق عليها قبل التطوير.

الخطوة 03اختبار الحمل

إثبات الجزء الصعب

نبني الجزء الأخطر أولًا، مثل تكامل مزوّد أو البحث، ونختبره تحت حمل واقعي.

الخطوة 04دورات

البناء والإطلاق والتشغيل

ينمو المنتج في دورات قصيرة على staging، ويُطلق على بنية تحتية نديرها، ويبقى في عهدة الفريق الذي بناه.

01 / 04 · اسحب

الموثوقية

مصمَّمة للتعامل مع أنظمة لا تتحكم بها.

  1. 01

    استدعاءات متوازية

    timeouts

    نستدعي الواجهات الخارجية جنبًا إلى جنب، لكل منها مهلتها، فلا يؤخّر مزوّد بطيء البقية.

  2. 02

    التخزين المؤقت

    Redis

    ذاكرة Redis مؤقتة نُبقيها جاهزة في الخلفية، حيثما تسمح البيانات.

  3. 03

    اختبارات للمسارات الحرجة

    tests

    اختبارات آلية للمسارات التي لا يجوز أن تتعطل، تُشغَّل قبل كل إصدار.

  4. 04

    Staging والإنتاج

    staging

    بيئات منفصلة، فيُراجَع كل تغيير قبل أن يصل إلى المستخدمين.

  5. 05

    المراقبة

    monitoring

    المراقبة والسجلات والنسخ الاحتياطي، يتولاها الفريق الذي كتب الشيفرة.

يتصل بـ

  • واجهات المزوّدين
  • مزوّدو الدفع
  • تغذيات الشركاء
  • Webhooks
  • Google APIs
  • OpenAI · Claude

تعتمد معظم المنصات على واجهات API يشغّلها طرف آخر، لذا نأخذ مهلاتها وحدودها وتغييراتها في الحسبان من أول دورة عمل.

أين تعمل المنصات: البنية التحتية المخصصة

دراسة حالة

واجهة البحث خلف موقع حجز للمستهلكين.

السياحة والسفر · Nazarene Tours

Amadeus وTravelport وGimmonix خلف واجهة بحث واحدة.

المزوّدون
ربط Amadeus وTravelport وGimmonix خلف الواجهة نفسها.
النتائج
نتائج تدريجية: تظهر الأسعار مع إجابة كل مزوّد، وتستقر القائمة عند وصول آخر إجابة.
التشغيل
نستضيف المنصة بأنفسنا.
اقرأ دراسة الحالة
مثال على بحث عن رحلات: ظهرت نتائج مزوّدَين، والمزوّد الثالث لم يُجب بعد.

الأسئلة الشائعة

أسئلة قبل مشروع المنصة.

لدينا وثيقة مواصفات. هل يمكنكم التسعير بناءً عليها؟

نقرؤها ثم نطرح أسئلتنا. معظم المواصفات تصف الشاشات، ونحتاج أيضًا إلى البيانات والتكاملات والأحمال التي خلفها. ومرحلة بنية قصيرة تحوّل الوثيقة إلى أساس نقدّر عليه التكلفة بمسؤولية.

هل تستلمون منصة بناها غيركم؟

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

كيف تتعاملون مع واجهات خارجية بطيئة أو غير مستقرة؟

استدعاءات متوازية بمهلات محددة، وتخزين مؤقت حيث تسمح البيانات، ونتائج تظهر فور وصولها بدل انتظار أبطأ مزوّد. هكذا يعمل بحث Nazarene Tours.

أين تعمل المنصة؟

على بنية تحتية نديرها، بحجم يناسب المنتج: استضافة مُدارة أو VPS أو خوادم مخصصة بتوافر عالٍ حيث يتطلب الحمل ذلك. والفريق الذي كتب الشيفرة هو من يراقبها في بيئة الإنتاج.

ابدأ معنا بالجزء الصعب.

التكامل الذي لست متأكدًا منه، والحمل الذي تتوقعه، والمواصفات التي لديك. وسنخبرك كيف نبنيه.