
في هذه الحلقة الافتتاحية نتعرّف على فكرة الكورس وما سنتعلمه خلاله، وكيف سننتقل من استخدام Odoo POS كمستخدم إلى فهمه والعمل عليه كمطور، مع نظرة عامة على محتوى الكورس والمهارات التي ستكتسبها خلال الرحلة.
في هذه الحلقة الافتتاحية نتعرّف على هدف الكورس وما سنتعلمه خلال الرحلة، وكيف سننتقل من استخدام نظام الكاشير كمستخدم إلى فهمه كمطور قادر على تحليل النظام وتنفيذ تعديلات احترافية داخل Odoo POS والعمل عليه في المشاريع الحقيقية.
في هذه الحلقة سنقوم بشرح وتنزيل البرامج الأساسية المطلوبة لتشغيل Odoo مثل Python و PostgreSQL و Git، مع توضيح دور كل أداة وتجهيز البيئة بشكل صحيح قبل تثبيت Odoo 18.
في هذه الحلقة سنشرح كيفية تحميل Odoo 18 وتشغيله على الجهاز المحلي خطوة بخطوة، مع التأكد من أن النظام يعمل بشكل صحيح قبل البدء في الإعدادات واستخدام Odoo POS.
في هذه الحلقة سنقوم بتفعيل التطبيقات الأساسية التي سنستخدمها أثناء الكورس مثل تطبيق Point of Sale، مع شرح سريع لدور كل تطبيق والتأكد من جاهزية النظام قبل البدء في الشرح العملي.
في هذه الحلقة سنأخذ نظرة عامة على تطبيقات Odoo التي سيتم استخدامها خلال الكورس، مع توضيح دور كل تطبيق وعلاقته بـ Odoo POS قبل البدء في الشرح التفصيلي.
في هذه الحلقة سنشرح بشكل نظري كيفية عمل وضع الـ Offline في Odoo POS، ومتى يتم استخدامه، وكيفية مزامنة البيانات عند عودة الاتصال بالإنترنت، مع توضيح أهم النقاط التي يجب الانتباه لها.
في هذه الحلقة سنشرح مفهوم المنتجات والـ Variants في Odoo، والعلاقة بينهم، وكيف يؤثر إعداد كل منهم على العمل داخل Odoo POS، مع توضيح السيناريوهات الشائعة المستخدمة في بيئات البيع المختلفة.
في هذه الحلقة سنتعرّف على واجهة Odoo POS بشكل عملي، مع تنفيذ عملية بيع كاملة من اختيار المنتج وحتى إتمام الدفع، لفهم دورة البيع داخل النظام قبل الدخول في الإعدادات المتقدمة.
في هذه الحلقة سنشرح كيفية إنشاء POS Store جديد داخل Odoo، والتعامل مع أكثر من نقطة بيع، مع توضيح الفرق بين كل POS Store وطريقة العمل عليهم بشكل عملي.
في هذه الحلقة سنقوم بشرح أهم المميزات المتقدمة في Odoo POS مثل تنفيذ عمليات الـ Refund، فتح أكثر من Order في نفس الوقت، وإدارة Cash In و Cash Out، مع استعراض سيناريوهات عملية أخرى تُستخدم في بيئة العمل اليومية.
في هذه الحلقة سنأخذ جولة داخل القوائم الخلفية الخاصة بـ Odoo POS، مع شرح شاشات إدارة الـ Sessions والـ Orders وغيرها من القوائم المرتبطة، لفهم كيفية متابعة العمليات والتحكم فيها من جهة الإدارة.
في هذه الحلقة سنشرح حركة المخزون في Odoo بشكل عملي، بدايةً من عمليات الشراء والبيع، وكيف يتم تحديث الكميات داخل المخازن تلقائيًا، مع متابعة المنتجات والأرصدة المتاحة، وفهم العلاقة بين Odoo POS والمخازن وتأثير كل عملية بيع أو شراء على الكمية الفعلية.
في هذه الحلقة سنشرح الفرق بين عملية البيع من خلال Odoo POS والبيع من شاشة Sales Order، مع توضيح طريقة العمل في كل شاشة، ومقارنة تأثير كل نوع بيع على المخزون، المحاسبة، وسير العمل، باستخدام مثال عملي لتوضيح الفروق الأساسية.
في هذه الحلقة سنقدّم شرحًا مجمّعًا لمكونات Odoo POS، بدايةً من واجهة شاشة البيع والأدوات المتاحة للكاشير، مرورًا بتجربة جميع المميزات الأساسية مثل إدارة الطلبات، الدفع، الخصومات، العملاء، والإيصالات، بهدف تكوين صورة كاملة عن قدرات نظام الـ POS وطريقة العمل عليه بشكل عملي.
في هذه الحلقة سنقوم بتحديد مكان تطبيق Odoo POS داخل سورس كود Odoo، مع جولة بسيطة داخل فولدرات التطبيق للتعرّف على الهيكل العام وأهم الأجزاء، بهدف تكوين صورة مبدئية عن مكان الكود قبل التعمّق في التفاصيل.
في هذه الحلقة سنقوم باستعراض ملف الـ manifest الخاص بتطبيق Odoo POS، لفهم مكونات التطبيق، والاعتمادات الأساسية، والأصول التي يتم تحميلها، مع توضيح دور كل جزء في تشغيل الـ POS قبل الدخول في التفاصيل البرمجية.
في هذه الحلقة سنأخذ جولة داخل كود الـ Backend الخاص بموديول Odoo POS المكتوب بلغة Python، للتعرّف على أهم الملفات والموديلات المستخدمة، وفهم دور كل جزء في تشغيل الـ POS وربطه بالمحاسبة والمخازن، دون الدخول في كتابة أو تعديل الكود.
في هذه الحلقة سنقوم بجولة داخل الأكواد المكتوبة بلغة JavaScript الخاصة بتطبيق Odoo POS، للتعرّف على هيكل الـ Frontend، وأهم الملفات والمكونات المسؤولة عن تشغيل واجهة البيع، مع فهم عام لطريقة عمل الكود دون الدخول في تفاصيل التنفيذ أو التعديل.
في هذه الحلقة سنشرح وضع Offline Mode في Odoo POS بشكل عملي، مع استعراض شكله أثناء العمل، وتجربة إيقاف السيرفر وتشغيل الـ POS لمعرفة كيفية تصرّف النظام بدون اتصال، ومتابعة هل تستمر عمليات البيع أم لا، لفهم السلوك الحقيقي للـ POS في حالات انقطاع الاتصال.
في هذه الحلقة نقوم بتحليل شاشة نقاط البيع في Odoo 18 والتعرّف على مكوناتها الأساسية، مع ربط كل جزء من الواجهة بالكود الخاص به داخل ملفات JavaScript، لفهم البنية الحقيقية للنظام من منظور المطور قبل البدء في تنفيذ أي تعديلات برمجية داخل الـ POS.
في هذه الحلقة نقوم بجولة داخل قاعدة بيانات Odoo والتعرّف على الجداول الأساسية الخاصة بنظام نقاط البيع داخل PostgreSQL، مع استكشاف أماكن تخزين الطلبات والمنتجات وبيانات الدفع، لفهم كيف تُحفظ بيانات الـ POS داخل قاعدة البيانات وربط ذلك بما يحدث داخل النظام أثناء الاستخدام.
في هذه الحلقة نشرح بشكل نظري كيف تتحرك البيانات داخل Odoo POS منذ فتح النظام وحتى إنشاء الطلب وإرساله للسيرفر، لفهم الصورة الكاملة لتدفق البيانات قبل الدخول في التفاصيل البرمجية.
في هذه الحلقة نبدأ تتبع حركة البيانات داخل Odoo POS من جهة الباك إند، مع شرح دور أكواد بايثون في استقبال البيانات ومعالجتها وحفظها داخل النظام، لفهم كيف يتعامل السيرفر مع بيانات الطلبات القادمة من شاشة الكاشير.
في هذه الحلقة نستكمل شرح دورة حركة البيانات داخل Odoo POS ولكن من جهة الواجهة الأمامية، حيث نتعرف على دور أكواد JavaScript في استقبال البيانات والتعامل مع الطلبات داخل شاشة الكاشير قبل إرسالها إلى السيرفر.
في هذه الحلقة نتعرف على كيفية استخدام أدوات المطور في المتصفح لمراقبة عمل Odoo POS، حيث نستعرض الكوكيز والـ Local Storage و الـ IndexedDB وكيفية تتبع البيانات المخزنة ومراقبة ما يحدث داخل النظام أثناء التشغيل من خلال DevTools.
في هذه الحلقة نتعرف على مكونات الـ POS Session داخل المتصفح من خلال نافذة الـ Console في أدوات المطور، وكيف يمكن استخدام أوامر odoo لاستكشاف البيانات والكائنات داخل الجلسة ومراقبة حالة النظام أثناء التشغيل.
في هذه الحلقة نشرح بشكل نظري مكوّن pos_store داخل Odoo POS ودوره في إدارة البيانات داخل النظام، مع توضيح أهميته في تشغيل الكاشير وحفظ الطلبات والمنتجات، وفهم دوره الأساسي في عمل الـ POS أثناء الـ Offline Mode واستمرار العمل بدون اتصال بالإنترنت.
في هذه الحلقة نتعلم استخدام أدوات المطور في المتصفح لمراقبة حركة الطلبات داخل Odoo POS منذ إنشائها وحتى وصولها للسيرفر، مع متابعة التغيرات التي تحدث على الـ IndexedDB والكوكيز والـ Storage لفهم كيف يتم تخزين البيانات ومزامنتها أثناء العمل.
في هذه الحلقة نتعرف على أساليب الـ debugging داخل Odoo POS وكيفية اكتشاف الأخطاء وتتبع مصدرها داخل النظام، مع شرح استخدام debug mode with assets وأدوات المتصفح لمراقبة الكود والطلبات وفهم أسباب المشاكل والوصول إلى حلها بشكل احترافي.
في هذه الحلقة نشرح نافذة الـ Debug داخل شاشة Odoo POS بشكل تفصيلي، مع استعراض الأدوات الموجودة بها وكيفية استخدامها في اختبار الباركود ومراقبة الطلبات وحالة الأجهزة، والاستفادة منها في تتبع المشاكل واختبار النظام أثناء التطوير والعمل الفعلي.
في هذه الحلقة نبدأ أول تطبيق عملي داخل القسم من خلال إنشاء مشروع جديد والتعرّف على كيفية عمل extension لملفات الـ XML الخاصة بواجهات Odoo POS، لفهم طريقة تعديل الشاشات وإضافة التخصيصات البرمجية بشكل صحيح.
في هذه الحلقة نتعلم كيفية إضافة زر جديد داخل الشاشة الرئيسية لنظام Odoo POS من خلال التعديل البرمجي على الواجهة، مع ربط الزر بالكود وتنفيذ حدث عند الضغط عليه لفهم أساسيات التخصيص العملي داخل النظام.
في هذه الحلقة نتعرّف على مفهوم الـ Patch في JavaScript داخل Odoo POS وكيفية استخدامه لعمل extend للكلاسات الموجودة داخل النظام، لفهم الطريقة الصحيحة لتعديل السلوك البرمجي وإضافة خصائص جديدة دون التأثير على الكود الأساسي.
في هذه الحلقة نقوم بإنشاء extension كامل باستخدام JavaScript داخل Odoo POS وربطه بالزر الذي تم تصميمه سابقاً، ثم تنفيذ مهمة بسيطة عند الضغط عليه لفهم كيفية كتابة الكود وربطه بالواجهة وتنفيذ التعديلات البرمجية بشكل عملي داخل النظام.
في هذه الحلقة نقوم بإضافة زر جديد داخل منطقة الـ Actions في شاشة Odoo POS وتنفيذ مهمة بسيطة عند الضغط عليه، بهدف توضيح جميع خطوات التخصيص البرمجي وربط الواجهة بالكود بشكل عملي يساعد المتدرب على فهم دورة العمل كاملة.
في هذه الحلقة نتعلم كيفية إنشاء رسالة Popup داخل واجهة Odoo POS وربطها بالكود البرمجي لعرض تنبيهات أو رسائل مخصصة للمستخدم، لفهم طريقة التعامل مع النوافذ المنبثقة وتنفيذ التخصيصات التفاعلية داخل النظام بشكل عملي.
في هذه الحلقة نتعرّف على استخدام dialog service داخل Odoo POS، مع إنشاء رسائل تفاعلية للمستخدم مثل confirmation dialog وتنفيذ إجراءات مختلفة حسب اختيار المستخدم، لفهم كيفية التعامل مع الـ popups التفاعلية داخل النظام بشكل عملي.
في هذه الحلقة نتعرّف على كيفية إنشاء رسائل الخطأ والتنبيهات داخل Odoo POS باستخدام أنواع الـ Popup المختلفة مثل error و warning، مع توضيح كيفية استخدامها لإظهار تنبيهات للمستخدم والتعامل مع الحالات المختلفة أثناء تنفيذ العمليات داخل النظام.
في هذه الحلقة نتعرّف على كيفية إنشاء popups تسمح بإدخال البيانات من المستخدم داخل Odoo POS مثل text input و number input، مع ربط القيم المدخلة بالكود البرمجي لاستخدامها في تنفيذ مهام وتخصيصات عملية داخل النظام.
في هذه الحلقة نتعرّف على استخدام FormViewDialog داخل Odoo POS لفتح نموذج تعديل لأي موديل مباشرة من شاشة الكاشير، مع شرح كيفية استدعائه وربطه بالكود لتنفيذ عمليات إنشاء أو تعديل السجلات دون مغادرة واجهة الـ POS.
في هذه الحلقة نتعرّف على كيفية إظهار رسائل Notification للمستخدم داخل Odoo POS، واستخدامها لعرض تنبيهات ومعلومات سريعة أثناء العمل، مع ربطها بالكود البرمجي لتحسين تجربة المستخدم وتنفيذ التخصيصات التفاعلية داخل النظام.
في هذه الحلقة نتعلّم كيفية بناء شاشة كاملة مخصّصة داخل Odoo POS وربطها بالنظام واستخدامها كـ Popup تفاعلي، مع تنفيذ جميع خطوات التصميم والربط بالكود لعرض البيانات والتعامل مع المستخدم داخل واجهة الكاشير بشكل احترافي.
في هذه الحلقة نتعلّم كيفية إضافة حقل جديد على المنتج داخل Odoo وجعله يظهر في واجهة Odoo POS، مع شرح خطوات التعديل وربط الحقل بالواجهة ليكون متاحاً أثناء العمل داخل شاشة الكاشير.
في هذه الحلقة نقوم بإدخال قيمة في الحقل الجديد على المنتج، ثم نتأكد من تحميله بشكل صحيح داخل Odoo POS وعرضه في الواجهة كحقل وكقيمة فعلية، للتأكد من اكتمال ربط البيانات بين الباك إند والـ POS.
في هذه الحلقة نتعلّم كيفية تعديل شكل عرض الأصناف داخل فاتورة الطلب في شاشة Odoo POS، من خلال إضافة حقول أو تنسيق جديد لعرض بيانات إضافية، لفهم طريقة تخصيص واجهة الشيك وتحسين عرض المعلومات للمستخدم.
في هذه الحلقة نتعلّم كيفية التحكم في المنتجات الموجودة داخل الفاتورة في Odoo POS، مثل إضافة شروط أو تنفيذ عمليات على عناصر الطلب، لفهم طريقة التحكم البرمجي في الشيك وتطبيق منطق العمل داخل شاشة الكاشير.
في هذا الكورس ستتعلم Odoo POS بشكل عملي ومتدرّج، بدايةً من فهم النظام وطريقة تشغيله واستخدامه اليومي كأنك تعمل داخل محل أو نشاط تجاري حقيقي، مرورًا بشرح الواجهة والإمكانيات والإعدادات المختلفة، وصولًا إلى التعمّق في التركيب البرمجي لموديول Odoo POS وفهم طريقة عمله من الداخل.
سنبدأ بشرح أساسيات نظام الـ POS، وكيفية إنشاء وتشغيل نقاط البيع، والتعامل مع الجلسات اليومية، والمنتجات، والعملاء، وطرق الدفع، والإيصالات، مع توضيح دورة عملية البيع بالكامل من البداية وحتى إغلاق الـ Session، وذلك باستخدام أمثلة واقعية تُستخدم فعليًا في السوق.
الكورس لا يركّز فقط على الاستخدام، بل يشرح أيضًا كيفية إعداد الـ POS ليتناسب مع أنواع مختلفة من البيزنس مثل المحلات التجارية والكافيهات والمطاعم، وربطه بالمخازن والمحاسبة والعملاء، مع شرح تأثير كل إعداد على النظام وطريقة عمله.
في الجزء البرمجي ستتعلّم تركيب موديول Odoo، وفهم هيكل الملفات، والتعامل مع Python في الـ Backend، ومع JavaScript و OWL داخل شاشة الـ POS، وتنفيذ تعديلات وتخصيصات عملية خطوة بخطوة على الإصدار 18، مثل إضافة أزرار جديدة، شاشات مخصصة، Popups، وتغيير منطق البيع، مع شرح طرق اختبار الكود وحل المشكلات الشائعة وDebugging.
هذا الكورس مناسب لكل من يريد فهم Odoo POS بشكل احترافي، سواء كمستخدم، مستشار Odoo، أو مبرمج، مع تركيز قوي على الجانب العملي والتطبيقي، وبأسلوب مبسّط يربط بين الاستخدام الفعلي والبرمجة بشكل واضح وسلس.