أساسيات CI/CD

أساسيات CI/CD قبل أن تكتب سطر YAML واحد أو تنشئ Workflow في GitHub Actions، يجب أن تفهم مفهوم CI/CD لأنه هو السبب الحقيقي لوجود GitHub Actions وJenkins وGitLab CI وAzure DevOps وغيرها. في الشركات الكبيرة لا يتم النظر إلى GitHub…

GitHub Actions

1. مقدمة إلى GitHub Actions ما هو GitHub Actions؟ لماذا نستخدم GitHub Actions؟ الفرق بين GitHub Actions و Jenkins الفرق بين GitHub Actions و GitLab CI/CD متى نستخدم GitHub Actions؟ حالات الاستخدام الشائعة اشرح هذه بالتفصيل الممل للمبتدئين اشرحهم كخبير…

البحث عم الملاحظة داخل SupaBase

الآن سنبني بحث احترافي كامل متوافق مع آخر نسخة من مشروعك: ✅ Clean Architecture✅ Cubit✅ Supabase Search✅ Debounce✅ SearchBar احترافي✅ Loading✅ إعادة النتائج✅ البحث بالعنوان والمحتوى✅ شرح كل ملف بالتفصيل 🧭 الفلو الكامل 🧱 1) DataSource 📁 notes_remote_datasource.dart 📄 الكود…

دمج التعديل مع الاضافة

سنبني: وسأشرح: 🔥 🎯 أولًا: لماذا الدمج أصلًا؟ قبل الدمج كان عندك: وكل واحد يحتوي: ❌ 🎯 الحل الاحترافي إنشاء: اسمه: 🧠 المعمارية النهائية 🚀 الملف الأول 📄 StudentForm.jsx 🎯 وظيفة هذا الملف هذا هو: الذي: 📄 components 🧠 ماذا…

تعديل بيانات الطالب

الآن سنبني: بفورم مستقل كامل مثل صفحة الإضافة تمامًا. 🧠 ما الفرق بين الإضافة والتعديل؟ الإضافة التعديل حقول فارغة حقول ممتلئة addStudent updateStudent reset() reset(studentData) لا يوجد useParams يوجد useParams 🚀 الكود الكامل الاحترافي EditStudent.jsx الراوت الخاص بالتعديل 🚀 زر…

البحث عن الملاحظات

✅ البحث محلياً (الأفضل حالياً) 🧠 لماذا اخترنا البحث المحلي؟ 🧱 التعديل سيكون فقط في: ❌ لا نعدل DataSource❌ لا نعدل Repository❌ لا نعدل UseCase 🧱 1) State 📁 notes_state.dart ✏️ نضيف: 🧠 لماذا لا نضيف State جديد؟ 🧱 2)…

تعديل الملاحظة

تعديل ملاحظة (Edit Note) في صفحة مستقلة 🧭 الفلو الكامل 🧱 1) DataSource (تنفيذ التعديل) 📁 notes_remote_datasource.dart 🧠 الشرح 🧱 2) Repository (Interface) 📁 notes_repository.dart 🧠 الشرح 🧱 3) RepositoryImpl (التحويل والتمرير) 📁 notes_repository_impl.dart 🧠 الشرح 🧱 4) UseCase 📁…

حذف الملاحظة

حذف الملاحظة (Delete Note) عبر نفس الطبقات: 🧱 1) DataSource (تنفيذ الحذف فعلياً) 📁 notes_remote_datasource.dart 🧠 شرح 🧱 2) Repository (تعريف العملية) 📁 notes_repository.dart 🧠 شرح 🧱 3) RepositoryImpl (تنفيذ الربط) 📁 notes_repository_impl.dart 🧠 شرح 🧱 4) UseCase 📁 delete_note_usecase.dart…

إضافة اشعار اضافة ملاحظة

خلّينا نضيف SnackBar بعد إضافة الملاحظة بشكل نظيف ومرتبط بالـ Cubit (مو من داخل الزر مباشرة) 🔥 🎯 الفكرة الصحيحة ❗ لا تعرض SnackBar داخل Cubit❗ ولا داخل onPressed مباشرة👉 الأفضل عبر BlocListener 🧱 1) تعديل الحالات (State) 📁 notes_state.dart…