معظم المهندسين يعملون على خدمة واحدة في كل مرة. أنا بنيت نظاماً بيئياً كاملاً.
بدأت منصة Nexural كفكرة بسيطة: لوحة بيانات لمجتمع التداول الخاص بي. تحولت إلى منصة فينتك كاملة تضم 185 جدولاً في قاعدة البيانات، و69 نقطة نهاية API، وفوترة عبر Stripe، وبوت Discord يعمل بالذكاء الاصطناعي، ومحرك أبحاث، واستوديو نشرات إخبارية، ونظام تنبيهات فورية.
صممت وبنيت كل شيء بنفسي. إليكم ما تعلمته.
النظام المرتبط: بناء خريطة سطح ونظام المنتج يحول نفس نمط السطح/النظام إلى إطار بناء قابل للتكرار.
النطاق
سبعة أنظمة مترابطة:
- لوحة التداول — بيانات السوق الفورية، الرسوم البيانية، تتبع المحفظة
- محرك Discord الذكي — أكثر من 30 أمراً، تكامل مع GPT-4o، الإشراف التلقائي
- محرك الأبحاث — أكثر من 71 مقياساً، تحليل الاستراتيجيات، استيراد CSV
- نظام التنبيهات — تكامل مع NinjaTrader 8، خلفية .NET، إشعارات فورية
- استوديو النشرات الإخبارية — إنشاء وتوزيع محتوى تلقائي
- متتبع الاستراتيجيات — مراقبة الأداء عبر أنظمة التداول
- مجموعة الأتمتة — 61 مجموعة اختبار، CI/CD، بوابات الجودة
تصميم قاعدة البيانات على نطاق واسع
185 جدولاً تبدو مخيفة. المفتاح كان التصميم المرحلي:
- المرحلة 1 (الأساسية): المستخدمون، المصادقة، الاشتراكات — 20 جدولاً
- المرحلة 2 (التداول): الأدوات، المراكز، الإشارات — 35 جدولاً
- المرحلة 3 (المجتمع): تكامل Discord، سجلات الإشراف — 25 جدولاً
- المرحلة 4 (التحليلات): المقاييس، التقارير، القياس عن بُعد — 30 جدولاً
- المراحل 5-7: الأبحاث، التنبيهات، النشرات الإخبارية — 75 جدولاً
كل مرحلة كان لها ترحيلها الخاص، ومجموعة اختباراتها الخاصة، وخطة التراجع الخاصة بها. لم أقم أبداً بتعديل أكثر من مجال واحد في كل مرة.
قرارات المخطط التي كانت مهمة
التطبيع حيث يكون ضرورياً: المستخدم ← الاشتراك ← الخطة مطبّع بالكامل. لا اختصارات في إلغاء التطبيع قد تسبب أخطاء في الفوترة.
إلغاء التطبيع حيث السرعة مهمة: لوحات التداول تستعلم من طرق عرض غير مطبّعة. المتداول لا يهتم بـ 3NF — بل يهتم بأوقات تحميل أقل من 50 مللي ثانية.
الأمان على مستوى الصف في كل مكان: سياسات RLS من Supabase على كل جدول. لا يمكن لمستخدم أبداً رؤية بيانات مستخدم آخر، حتى لو كان هناك خطأ في API.
بنية API
69 نقطة نهاية تتبع أنماطاً متسقة:
