أدوات التطوير

الخلفية

بوستجريس كيو ال + بوست جي آي إس

يستخدم Climweb PostgreSQL للتخزين المستمر.

PostGIS هو امتداد لـ PostgreSQL يضيف دعمًا للكائنات الجغرافية

https://www.postgresql.org

جانغو + الذعرة CMS

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

https://www.djangoproject.com

Wagtail هو نظام إدارة محتوى مفتوح المصدر (CMS) مبني على Django، وهو إطار عمل ويب Python شائع. لقد تم تصميمه ليكون صديقًا للمطورين ومرنًا ويوفر تجربة تحرير حديثة وبديهية لمنشئي المحتوى.

واجهة المستخدم الخاصة بـ Wagtail Admin وتجربة التحرير الشاملة التي تقدمها Wagtail جعلتها خيارًا جيدًا لـ Climweb، لأنها تتيح إنشاء المحتوى وإدارته بسهولة.

https://wagtail.org

إطار جانغو ريست

لإنشاء نقاط النهاية بسرعة، والتعامل مع المصادقة الخارجية، وتسلسل الكائنات، والتحقق من الصحة، والقيام بالعديد من الأشياء، نستخدم Django REST Framework.

https://www.django-rest-framework.org

تدويل

بالنسبة للتدويل (i18n)، فإننا نستفيد من الدعم المدمج في Django. يتيح لنا إطار التدويل الخاص بـ Django ترجمة تطبيق الويب الخاص بنا بسهولة إلى لغات متعددة.

لاستخدام ميزات التدويل في Django، نقوم بتغليف النص الخاص بنا بوظيفة خاصة تسمى gettext أو gettext_lazy. لمزيد من المعلومات، راجع وثائق تدويل وتعريب Django.

الواجهة الأمامية

يستخدم Climweb في الغالب قوالب Django للواجهة الأمامية. ومع ذلك، فإننا نستخدم أيضًا Vue.js لبعض أجزاء الواجهة الأمامية التي تتطلب مزيدًا من التفاعل، مثل مكون خريطة الصفحة الرئيسية.

نحن نستخدم أسلوبًا مخصصًا لدمج Vue.js مع Django. يجمع هذا النهج بين نقاط قوة نظام القوالب في Django والمكونات التفاعلية في Vue ويتم تلخيصه على النحو التالي:

** الخطوات الأساسية في دمج Vue في Django/Wagtail:**

  • إعداد مشروع Vue: استخدم Vite لدعم مشروع Vue داخل دليل مشروع Django، مما يتيح تطوير JavaScript الحديث مع ميزات مثل استبدال الوحدة الساخنة.

  • تكامل قالب Django: قم بتضمين مكونات Vue مباشرة في قوالب Django عن طريق إضافة

    وتضمين البرنامج النصي لتطبيق Vue عبر علامة