⚡
التحديات
- الحاجة إلى نظام بيع مباشر من المزارع إلى المستهلك دون وسطاء
- إدارة نوعين من الأسعار (التجزئة والجملة) لكل منتج
- نظام نقل معقد بثلاثة أنواع من المركبات وأسعار مختلفة لكل محافظة
- الحاجة إلى التسجيل التلقائي للمستخدم في وقت الشراء
- إدارة المسوقين والتسوية معهم
- حساب تكاليف النقل بناءً على المحافظة والمدينة
- الحاجة إلى لوحة إدارة بمستويات وصول مختلفة
- إدارة التاريخ الجلالي في جميع أنحاء النظام
💡
الحلول
- تنفيذ نموذج Commodity مع حقلي سعر (retail_price, overall_price)
- تصميم نموذج Transport مع ثلاثة حقول سعر لكل نوع مركبة (vanet_price, nasan_price, khavar_price)
- تنفيذ التسجيل التلقائي للمستخدم بكلمة مرور عشوائية في وقت الشراء
- تصميم نموذج Cart مع حقلي visitor_id و visitor_paid لإدارة المسوقين
- تنفيذ نموذج State_city مع علاقة ManyToMany بـ City
- نظام مصادقة عبر الرسائل النصية من خلال واجهة غدير
- تنفيذ مستويات الوصول (مدير، مستخدم) مع حقل access_level
- استخدام persiantools للتاريخ الجلالي
- تصميم صفحات Takestan_us لتعريف المنطقة
📚
الإنجازات
- متجر إلكتروني كامل بنوعين من البيع (التجزئة والجملة)
- نظام نقل ذكي بأسعار متغيرة
- نظام تسويق وتسوية مع المسوقين
- التسجيل التلقائي للمستخدم في وقت الشراء
- لوحة إدارة بمستويات وصول مختلفة
- دعم كامل للتاريخ الجلالي
- تصميم متجاوب وسهل الاستخدام
- نظام إدارة المحافظات والمدن
🔧
النقاط الفنية البارزة
- Django 4.2.6 و Python 3
- قاعدة بيانات MySQL مع pymysql
- django-jalali و persiantools للتاريخ الجلالي
- python-telegram-bot لبوت تيليجرام
- sorl-thumbnail لتحسين الصور
- Pillow لمعالجة الصور
- xlwt لتصدير Excel
- Flask للخدمات المساعدة
- نظام تسجيل تلقائي بكلمة مرور عشوائية
- إدارة مستويات الوصول (مدير، مستخدم)
- نظام نقل بثلاثة أنواع من المركبات
- نظام تسويق وتسوية
- إدارة State_city مع ManyToMany
- واجهة غدير (Ghasedak) للرسائل النصية
- إدارة التاريخ الجلالي في جميع أنحاء النظام
🏗️
الهندسة المعمارية
تم بناء يار كشاورز على معمارية MVT (Model-View-Template) في دجانغو ويتكون من تطبيقين رئيسيين:
1. store_account: مسؤول عن إدارة المستخدمين والمصادقة
- نموذج User مخصص مع حقول access_level و mobile و bank_card_number و total_income و paid_income
- نظام تسجيل الدخول عبر الرسائل النصية وكلمة المرور
- التسجيل التلقائي للمستخدم في وقت الشراء
2. store_profile: مسؤول عن إدارة المنتجات وسلة التسوق والنقل
- نموذج Commodity للمنتجات الزراعية
- نموذج Cart لسلة التسوق مع حقلي visitor_id و visitor_paid
- نموذج Transport لإدارة النقل
- نموذج State_city لإدارة المحافظات والمدن
- نموذج ImageFile و Keyword لصور المنتجات والكلمات المفتاحية
عروض المشروع الرئيسية:
- home_page: الصفحة الرئيسية مع عرض المنتجات وجدول النقل
- commodity_details: تفاصيل المنتج مع نموذج الشراء
- new_home: الصفحة الرئيسية الخاصة بالمسوق
- new_commodity_details: تفاصيل المنتج الخاصة بالمسوق
- transport: قائمة النقل
- about_us: من نحن
- contact_us: اتصل بنا
- takestan_us: عن مقاطعة تاكستان
لوحة الإدارة تشمل:
- dashboard: لوحة التحكم
- addcommodity: إضافة منتج
- allcommodity: قائمة المنتجات
- edit_commodity: تعديل المنتج
- edit_image: تعديل الصور
- admin_cart: تتبع الطلبات الجديدة
- follow_user_cart: تتبع سلة المستخدم
- sent_cart: قائمة تسوية المسوقين
- all_visitor_paid_cart: سجل المبيعات
- manage_transport: إدارة النقل
- state_city: إدارة المحافظات والمدن
- allusers: قائمة المستخدمين
- profile_settings: الإعدادات الشخصية
- user_cart: سلة التسوق
- user_sent_cart: قائمة المشتريات السابقة
- visitor_cart: المبيعات الحالية
- visitor_paid_cart: المبيعات السابقة
يعمل المشروع في وضع DEBUG ويستخدم SQLite للتطوير و MySQL للإنتاج.
📐
نطاق المشروع
- تطبيقان رئيسيان (store_account, store_profile)
- 5 نماذج بيانات رئيسية (User, Commodity, Cart, Transport, State_city)
- 3 أنواع مركبات (كامیون صغيرة، نيسان، خاور)
- 2 نوع سعر (التجزئة والجملة)
- 2 مستويات وصول (مدير، مستخدم)
- أكثر من 20 صفحة وقالب HTML
- نظام تسجيل تلقائي
- نظام تسويق وتسوية
- إدارة التاريخ الجلالي