⚡
التحديات
كانت المطابع التقليدية تدير طلباتها يدويًا وعلى الورق.
حساب سعر الطباعة بناءً على معاملات متعددة (الحجم، اللون، عدد الصفحات، التجليد) كان معقّدًا وعرضة للأخطاء.
كان توزيع العمولات بين المسوّقين والمدارس والمدرّسين يُجرى يدويًا ومعرّضًا للأخطاء.
غياب منصة إلكترونية لرفع الملفات وتقديم الطلبات أجبر العملاء على الحضور شخصيًا.
افتقرت إدارة المحتوى التعليمي والإجابة عن أسئلة العملاء إلى نظام مركزي.
غياب نظام المحافظ والتسوية أدى إلى نزاعات مالية بين أصحاب المصلحة.
💡
الحلول
تنفيذ منصة Django بمعمارية سبعة تطبيقات (account، site_profile، cart، marketing، seo، zarinpal، myclass) لفصل واضح للمسؤوليات.
بناء نظام حساب تلقائي لسعر الطباعة بمصفوفة Pricelist (الحجم × اللون × العدد × وجه/وجهين) و Sahafi_price (نوع التجليد × الحجم × عدد الأوراق) في قاعدة البيانات.
استخراج تلقائي لعدد صفحات PDF بـ PyPDF2 وحساب فوري للسعر بناءً على محتوى الملف.
تنفيذ نظام تسويق متعدد المستويات (MLM) ببنية شجرية (FK ذاتي) وتوزيع تلقائي للعمولات على ثلاث مستويات (المالك، المسوّق، المدرسة).
إضافة محافظ مخصّصة وعناوين محافظ فريدة ببادئة 8989 ونظام تحويل أموال بين المستخدمين.
بناء لوحة مخصّصة لإدارة مدفوعات وتسويات المسوّقين (pay_new_payment / old_payment).
تنفيذ نظام إدارة محتوى كامل يشمل المقالات والأسئلة والأجوبة والتجارب القانونية والفيديوهات والتصنيفات المتعددة والبحث المتقدّم مع حفظ النتائج.
📚
الإنجازات
إلغاء كامل للحسابات اليدوية واستبدالها بحساب تلقائي دقيق بناءً على 5 معاملات.
زيادة الشفافية في توزيع العمولات وإلغاء النزاعات المالية بين المسوّقين والمدارس والمدرّسين.
إمكانية تقديم طلبات الطباعة على مدار الساعة دون الحضور شخصيًا.
نظام تسويق تلقائي يدير المسوّقين والمدارس دون تدخل يدوي.
تقليل زمن معالجة كل طلب من عدة دقائق إلى بضع ثوانٍ.
قاعدة محتوى قابلة للبحث للمقالات والأسئلة والفيديوهات مع إمكانية التعليق.
🔧
النقاط الفنية البارزة
معمارية Django بسبعة تطبيقات مع فصل واضح للنطاقات.
نظام مستخدم بستة أدوار مع تحكّم على مستوى الحقول (مدير، مدرّس، مدرسة، مسوّق، مطبعة، مجيب).
نظام MLM بـ FK ذاتي لبنية شجرية غير محدودة للمسوّقين والمدارس.
توزيع تلقائي للعمولات على ثلاث مستويات (owner_income, marketer_income, school_income) في كل سطر سلة.
حساب تلقائي للسعر عبر مصفوفة Pricelist (الحجم × اللون × عدد الصفحات) و Sahafi_price (نوع التجليد × الحجم × عدد الأوراق).
استخراج تلقائي لعدد صفحات PDF بـ PyPDF2 وحساب فوري للسعر بناءً على محتوى الملف.
نظام محافظ بعناوين فريدة (بادئة 8989) وتحويل أموال بين المستخدمين مع تسجيل المعاملات.
تكامل كامل مع بوابة زرينبال v4 + نظام CMS موجّه للسيو مع حفظ عمليات البحث وعدّادات الكلمات المفتاحية.
🏗️
الهندسة المعمارية
المشروع مبني على نمط MTV في Django بمعمارية سبعة تطبيقات:
- account: مستخدم مخصّص متعدّد الأدوار، مصادقة OTP، رسائل قاصدك، تحويل التاريخ الهجري الشمسي
- site_profile: ملفات الطباعة (Chap_file)، الملف الشخصي، قوائم الأسعار (Pricelist, Sahafi_price)، المحافظات/المدن، الاستشارات
- cart: سلة التسوق، الطلبات، سطور الطلب (Cart_list)، أكواد الخصم
- marketing: التسويق، العمولات، المدفوعات (Marketer_payment)
- seo: المحتوى (Seo)، التصنيفات (All_category)، الكلمات المفتاحية، البحث، التعليقات، الأسئلة
- zarinpal: الدفع الإلكتروني
- myclass: دوال مساعدة مشتركة
📐
نطاق المشروع
المشروع يعمل حاليًا بشكل مباشر على النطاق pejvakprint.ir.
يتكوّن من 7 تطبيقات Django وأكثر من 20 نموذج بيانات.
يدعم 6 أدوار مستخدم مع تحكّم على مستوى الحقول.
نظام تسويق متعدد المستويات ببنية شجرية غير محدودة.
يدير عدة دورات كاملة: من رفع ملف PDF حتى الطباعة والشحن وتسوية حسابات المسوّقين.
قاعدة محتوى تضم مقالات وأسئلة وتجارب قانونية وفيديوهات.