yasinjokhadar

yasinjokhadar

clean weather2

File: weather.dart Path ملاحظة احترافية: في مشروع Production لا أحب وضع List<Forecast> داخل Weather لأن ذلك يخلط بين Current Weather و Forecast في كيان واحد. الأفضل هو إنشاء كيان ثالث مثل WeatherResponse أو WeatherData يحتوي: لكن في مشروعنا التعليمي سنبقيهما…

Weather1

File: app_colors.dart Path File: app_text_theme.dart Path File: app_theme.dart Path File: app_constants.dart Path File: api_constants.dart Path File: api_constants.dart Path File: api_client.dart Path File: network_info.dart Path File: exceptions.dart Path File: failures.dart Path File: error_messages.dart Path ملاحظة معمارية: في هذه المرحلة أصبح لدينا…

Weather App

إذا أردنا بناء التطبيق بطريقة احترافية وقابلة للتوسع، فهذه هي الخطة فقط بدون تفاصيل إضافية. 1. المتطلبات الوظيفية (Functional Requirements) الصفحة الرئيسية توقعات الأسبوع عرض 7 أيام تحتوي على: البحث الإعدادات 2. المتطلبات 3. التقنيات 4. مزود بيانات الطقس أفضل…

Classrooom sections

المطلوب في صفحة الصفوف: كل صف يحتوي زر: 🚀 الخطوة 1: إضافة الزر داخل جدول الصفوف داخل: أضف: 🚀 الخطوة 2: إنشاء Route داخل App.jsx 🚀 الخطوة 3: إنشاء صفحة جديدة 🎯 ما الذي ستفعله الصفحة؟ 1- جلب بيانات الصف…

Section Students

🎯 الفكرة في جدول الأقسام: يكون هناك زر: 🚀 داخل جدول الأقسام أضف زر: 🎯 الراوت داخل App.jsx 🧠 الآن لدينا خياران الخيار الأول (أنصح به) جلب الطلاب الخاصين بالقسم من الـ API مباشرة. الخيار الثاني جلب كل الطلاب ثم…

Students Filters

بعد أن أصبح لديك: فالفلترة هي الخطوة الطبيعية التالية. 🎯 الهدف نريد في صفحة الطلاب: وعند اختيار: يظهر فقط الطلاب المنتمون لهذا الصف. 🧠 أول سؤال مهم كيف نصل للصف؟ أنت الآن لديك: إذن اسم الصف موجود في: 🚀 الخطوة…

student Details

بدل أن يكون لديك فقط: سيصبح لديك أيضًا: 🎯 الفكرة في جدول الطلاب تضيف زر: 🚀 الراوت داخل App.jsx 🎯 إنشاء الصفحة 🚀 الكود الأساسي 🎯 إظهار القسم والصف والمرحلة بما أنك خزنت: فقط يمكنك الوصول لباقي العلاقات هكذا: ⚠️…

Delete Post

ما هو DELETE فعلياً؟ في POST كنا نقول: في PUT كنا نقول: أما DELETE فنقول: ماذا نرسل للسيرفر؟ لاحظ أننا في DELETE غالباً لا نرسل Body. في POST: في PUT: أما DELETE: فقط. لماذا لا نرسل Body؟ لأن السيرفر لا…

لماذا نستخدم كلمة widget

titleController.text = widget.post.title; لماذا نستخدم كلمة widget هنا هذه من أكثر النقاط التي تسبب حيرة للمبتدئين في Flutter. لننظر أولاً إلى الكود: هنا المتغير: موجود داخل: وليس داخل: ماذا يحدث عند فتح الصفحة؟ عندما نكتب: يتم إنشاء Widget جديدة. هذه…