01النطاق
تطبيق الويب ليس موقعًا تعريفيًا.
موقع تعريفي محتوى تنشره. أما تطبيق الويب فنظام يدخل إليه الناس ويعملون داخله: حسابات وأدوار، وبيانات تتغيّر ساعة بساعة، وقواعد تحدّد من يرى ماذا ومن يعدّل ماذا، وسجل لما جرى. الصفحات هي الجزء الظاهر. أما معظم البناء فيقع خلفها.
ما يدخل في النطاق عادةً ونادرًا ما يُذكر في الطلب
- الحسابات: التسجيل، وتسجيل الدخول، واستعادة كلمة المرور، وتأكيد البريد، والدعوات، والأدوار التي تحدّد ما يصل إليه كل مستخدم.
- نموذج بيانات يصمد أمام الواقع — الكيانات، والعلاقات بينها، والحالات التي يمر بها كل سجل.
- واجهة إدارية لفريقك أنت: البحث عن سجل، وتصحيح بيانات خاطئة، وإرجاع مبلغ، وتعليق حساب، والتصدير. أحدهم يحتاجها دائمًا في اليوم الثاني.
- العمل في الخلفية: المهام المجدولة، والاستيراد والتصدير، وتوليد المستندات — كل ما هو أبطأ من أن يجري داخل طلب واحد.
- البريد المعاملاتي والإشعارات، مُرسَلة من نطاق موثَّق بما يكفي لكي تصل الرسائل فعلًا.
- رفع الملفات وتخزينها، بحدود للحجم وفحص للنوع وقواعد وصول تنطبق على الملف نفسه، لا على الصفحة التي تشير إليه فقط.
- المدفوعات، إن كان هناك مال يتحرك: عمليات كتابة لا يتكرر أثرها (idempotent)، ومعالجة webhooks، واسترجاع المبالغ، وسجل قابل للمطابقة.
- البيئات وعمليات النشر والنسخ الاحتياطية والسجلات وتتبّع الأخطاء — الأجزاء التي لا يعرضها أحد ويحتاجها الجميع في الثانية صباحًا.
نكتب هذه القائمة قبل التقدير، لأنها الموضع الذي تخطئ فيه التقديرات. عدد الشاشات لا يخبرك تقريبًا بشيء عن حجم تطبيق الويب. أما عدد الأدوار، وعدد الحالات التي يمر بها السجل، وعدد الأنظمة التي يتبادل معها البيانات، فهي التي تخبرك بمعظمه.



