كل الأعمال ←

استيراد وتجارة جملة للمواد الغذائية — السوق المحلي · منشور وشغّال

زاد الخير

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

نوع النظام
نظام تشغيل داخلي (استيراد · مخزون · مبيعات آجلة · خزائن · تقارير)
دورنا
بناء كامل — فهم التشغيل ثم التنفيذ ثم النشر
زاد الخير
1 / 6

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

18
شاشة
21
جدولًا في قاعدة البيانات
44
إجراء خادم
39
فهرسًا وقيد تفرّد
11
قيد CHECK على القاعدة
27
اختبارًا آليًا كلها ناجحة
12,318
سطر شيفرة
المجال
استيراد وتجارة جملة للمواد الغذائية — السوق المحلي
نوع النظام
نظام تشغيل داخلي (استيراد · مخزون · مبيعات آجلة · خزائن · تقارير)
التغطية
١٨ شاشة، ٧ مسارات API، ٢١ جدولًا
المستخدمون
دوران: مالك (كل الصلاحيات) وموظّف (تشغيل يومي)
اللغة والاتجاه
عربية كاملة من اليمين لليسار (RTL) — لا طبقة ترجمة فوق واجهة إنجليزية
الأجهزة
كمبيوتر المكتب والهاتف — نفس النظام بلا نسخة مبتورة
العملة والتوقيت
العملة المحلية · التوقيت المحلي · تواريخ ميلادية DD/MM/YYYY

المشكلة قبل النظام

التاجر يستورد ١٨ صنفًا من الفول والأرز والزيوت والبهارات والملح، من موردين خارجيين ومن موردين محليين. المشكلة ليست في البيع، بل في ثلاث فجوات كانت تكلّفه مالًا حقيقيًا.

اقرأ التفاصيلإخفاء التفاصيل3 نقطة
تكلفة الشحنة الحقيقية كانت مجهولة حتى تنتهي.
— الشحنة الواحدة تمرّ بالجمارك ورصيف الميناء والغرفة التجارية وجهاز رقابة الأغذية والنقل — كل مصروف يُدفع في يوم مختلف ويُقيَّد في ورقة أو ملف Excel مختلف. سعر الكيلو الحقيقي لا يظهر إلا بعد أن تُجمع الأوراق يدويًا، وغالبًا بعد أن تكون البضاعة قد بيعت بسعرٍ حُدِّد بالتخمين.
الحسابات كانت موزّعة على دفاتر وملفات Excel متفرقة.
— دفتر للعملاء، وملف للشحنات، وملف للمصاريف — والأرقام تنتقل بينها بالنقل اليدوي. كل نقل فرصة لخطأ، ولا توجد نسخة واحدة صادقة من الحقيقة.
البيع بالأجل كان يخسر قيمته بصمت.
— التاجر يبيع بمهلة ٣٠ إلى ٩٠ يومًا. حين يتحرّك سعر الصرف والتضخّم خلال المهلة، يعود المبلغ نفسه بقوة شرائية أقل. الحلّ الذي كان يتّبعه: تحويل الفاتورة إلى ما يعادلها ذهبًا على الآلة الحاسبة، وكتابة الرقم على هامش الدفتر، وإعادة الحساب يدويًا مع كل دفعة جزئية. عمليةٌ صحيحة الفكرة، لكنها بطيئة وعرضة للخطأ، ولا أحد يستطيع مراجعتها لاحقًا.

المدخل: فهم التجارة قبل كتابة الكود

اقرأ التفاصيلإخفاء التفاصيل

بدأنا من سؤال واحد: ما الذي يجعل هذا النشاط يربح أو يخسر؟ الإجابة كانت رقمين: تكلفة الوحدة النهائية بعد كل المصاريف، وقيمة المديونية وقت تحصيلها لا وقت إصدارها.

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

النظام ليس مجموعة شاشات مستقلة، بل سلسلة واحدة كل حلقة فيها تغذّي التالية: طلب الشحنة ← الميناء/التخليص ← خروج من الميناء ← دخول المخزن، وكل مصروف تخليص يُقيَّد ويُضاف للتكلفة. تكلفة الوحدة النهائية = (سعر الشراء + كل المصاريف) ÷ الكمية، فتصير دفعة مخزون بتكلفتها. ثم بيع من دفعة محدّدة ← خصم فوري من المخزون، وتُقاس الفاتورة بالذهب لحظة إصدارها: جرامات الفاتورة = الإجمالي ÷ سعر جرام عيار ٢٤ يوم الإصدار. وكل دفعة بسعر يومها: الجرامات المسدّدة = المبلغ المدفوع ÷ سعر الجرام يوم السداد ← المتبقّي بالجرامات، وقيمته بالجنيه بسعر اليوم.

النتيجة العملية: الفاتورة قد تُسدَّد بجنيهات أكثر مما صدرت به، وهذا هو الصواب. في البيانات المعروضة فاتورة صدرت بـ ٢٩٧٬٥٠٠ ج.م وسُدِّدت بدفعتين مجموعهما ٣٠٥٬٨٠٠ ج.م — الفارق ليس زيادة على العميل، بل هو نفس وزن الذهب الذي أخذه يوم الشراء، محسوبًا بسعر يوم السداد.

العربية وRTL والاستجابة

الواجهة عربية بالكامل واتجاهها من اليمين لليسار في بنيتها، لا بانعكاس بصري — والنظام يعمل على الهاتف بنفس القدرات.

اقرأ التفاصيلإخفاء التفاصيل4 نقطة
  • التنقّل والجداول والنماذج والمستندات المطبوعة كلها مبنية على dir="rtl" وخصائص منطقية (padding-inline-start بدل padding-left).
  • الأرقام والتواريخ والأكواد مُجبَرة على الاتجاه اللاتيني داخل النص العربي حتى لا تنقلب.
  • الجداول العريضة تنزلق داخل حاويتها بدل أن تكسر الصفحة، والتنقّل يصير قائمة جانبية منزلقة.
  • وضع ليلي (الافتراضي) ونهاري مبنيّان على متغيّرات لونية، ويُحفظ الاختيار للمستخدم.

المبيعات على الموبايل

1 / 10

الشاشات

32 شاشة

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

الدورة الكاملة — من الطلب إلى التحصيل

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

الاستيراد والشحنات

شحنة في مرحلة التخليصالنظام يعمل على شحنة لم تكتمل بعد، لا على المكتملة فقط.
نموذج شحنة جديدةالوزن الكلي يُحسب، ولا يُكتب.
تعديل بيانات شحنةالتعديل يسري على كل ما بُني على الشحنة.

البيع المربوط بالذهب

بدء بيع: اختيار العميلالبيع يبدأ من عميل معروف، فلا مديونية بلا صاحب.
اختيار الصنف من المخزونلا يُباع إلا موجود، وبتكلفته المعروفة.
الفواتير المسدّدة بالكاملالأرشيف متاح دون أن يُثقل الشاشة اليومية.
بحث داخل المبيعاتالبحث يفهم كتابة المستخدم لا صيغة مخزَّنة.
سلة البيع بالتكلفة والربحالربح محسوب لحظيًا قبل التأكيد، لا مكتشَفًا بعده.

العملاء والموردون

سجل العملاءبطاقات مكتملة البيانات، لا هياكل فارغة.
عميل متأخر عن السدادالتأخير محسوب بالأيام من تاريخ الاستحقاق، لا مؤشرًا لونيًا فقط.
سجل الموردينالموردون الخارجيون والمحليون في نظام واحد.
مورد وفواتيره وشحناتهالجانب الدائن مُغلق حسابيًا مثل المدين تمامًا.

الدفتر والخزائن

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

الحوكمة والصلاحيات

الإعدادات بصلاحية المالكإدارة كاملة للمستخدمين وسجلّ لا يُمحى لما جرى.
الإعدادات بصلاحية موظّفالصلاحية تحكم ما يُبنى في الصفحة، لا ما يُخفى بالـ CSS.
المبيعات بصلاحية موظّفالموظّف يشغّل اليوم كاملًا دون امتلاك أدوات الهدم.

المستندات المطبوعة

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

الدخول

شاشة تسجيل الدخولبوابة واحدة محميّة، بهوية بصرية للنشاط.

الوضع النهاري

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

الأثر

قبلبعد
تكلفة الشحنة تُجمع يدويًا بعد انتهائهاالتكلفة النهائية للوحدة تظهر لحظيًا مع كل مصروف يُقيَّد
ربط الفاتورة بالذهب على الآلة الحاسبة وإعادة الحساب مع كل دفعةالتحويل والسداد يحدثان تلقائيًا، وكل سعر مستخدم محفوظ كسجلّ ثابت
بيانات موزّعة على دفاتر وملفات Excel متفرقةنسخة واحدة صادقة: ٢١ جدولًا مترابطًا خلف ١٨ شاشة
معرفة المتأخرين تحتاج مراجعة الدفترالمتأخرون يُبرزون تلقائيًا بعدد أيام التأخير ويُرتَّبون أولًا
رصيد الخزنة تقدير ذهنيرصيد مشتقّ من الحركات نفسها مع كشف حساب متسلسل يُراجَع سطرًا سطرًا
نسخة احتياطية عند التذكّرنسخة تلقائية كل فجر مع الاحتفاظ بآخر ٦٠
  • قبل

    تكلفة الشحنة تُجمع يدويًا بعد انتهائها

    بعد

    التكلفة النهائية للوحدة تظهر لحظيًا مع كل مصروف يُقيَّد

  • قبل

    ربط الفاتورة بالذهب على الآلة الحاسبة وإعادة الحساب مع كل دفعة

    بعد

    التحويل والسداد يحدثان تلقائيًا، وكل سعر مستخدم محفوظ كسجلّ ثابت

  • قبل

    بيانات موزّعة على دفاتر وملفات Excel متفرقة

    بعد

    نسخة واحدة صادقة: ٢١ جدولًا مترابطًا خلف ١٨ شاشة

  • قبل

    معرفة المتأخرين تحتاج مراجعة الدفتر

    بعد

    المتأخرون يُبرزون تلقائيًا بعدد أيام التأخير ويُرتَّبون أولًا

  • قبل

    رصيد الخزنة تقدير ذهني

    بعد

    رصيد مشتقّ من الحركات نفسها مع كشف حساب متسلسل يُراجَع سطرًا سطرًا

  • قبل

    نسخة احتياطية عند التذكّر

    بعد

    نسخة تلقائية كل فجر مع الاحتفاظ بآخر ٦٠

هذا الجدول يصف تغيّر القدرة (ما صار النظام قادرًا عليه) لا مكاسب مقيسة. لا يوجد قياس قبليّ/بعديّ موثّق لتوفير الوقت أو تقليل الأخطاء، فلم نذكر أي نسبة.