مشروع رفرفة العمارة النظيفة
نظرة عامة على المشروع
يتبع مشروع الرفرفة هذا نمط الهندسة المعمارية النظيفة ، والذي يعزز فصل المخاوف والقدرة على الصيانة. تم تنظيم المشروع في عدة طبقات:
طبقة العرض التقديمي : تحتوي على واجهة مستخدم وصفحات ومنطق العرض (الكتلة). يعالج واجهة المستخدم وتفاعلات المستخدم.
طبقة المجال : تحتوي على حالات الاستخدام وكيانات المجال ومستودع التجريد.
طبقة البيانات : تدير مصادر البيانات والمستودعات ونماذج البيانات. مسؤولة عن استرجاع البيانات وتخزينها. مقسمة إلى repositories ، model ، local_data_sources ، و remote_data_sources .
الميزات الرئيسية
ميزة تسجيل الدخول
يتضمن تطبيقنا نظام تسجيل دخول قوي. فيما يلي الجوانب الرئيسية لهذه الميزة:
التحقق من الإدخال : نضمن صحة مدخلات المستخدم ، مثل البريد الإلكتروني وكلمة المرور ، للحفاظ على تكامل البيانات.
المصادقة : عند إدخال بيانات اعتماد صالحة ، يتم مصادقة المستخدمين ومنحهم الوصول إلى حساباتهم.
ميزة الاشتراك
يعد إنشاء حساب واضحًا مع ميزة الاشتراك الخاصة بنا. تتضمن العناصر الرئيسية:
التحقق من صحة الإدخال : على غرار ميزة تسجيل الدخول ، نتحقق من صحة مدخلات المستخدم لضمان دقة البيانات مع التحقق من ملف الصورة.
إنشاء ACCOUT : عند إدخال بيانات اعتماد صالحة ، يكون المستخدمون صالحين لإنشاء ACCOUT.
هيكل المجلد
- lib/الميزات/الميزة/
- العرض/ : يحتوي على أجهزة واجهة المستخدم ومنطق العرض.
- المجال/ : يحتوي على حالات الاستخدام وكيانات المجال.
- بيانات/
- المستودعات/ : تنفذ مستودعات البيانات.
- النموذج/ : يحدد نماذج البيانات.
- local_data_sources/ : يدير مصادر البيانات المحلية.
- Remote_data_sources/ : معالجة مصادر البيانات عن بُعد.
حزم
- الرفرفة : رفرفة sdk.
- Cupertino_icons : يوفر رموز كوبرتينو المستخدمة في المشروع.
- shared_preferences : البرنامج المساعد للوصول إلى وتخزين أزواج القيمة الرئيسية على الجهاز.
- GET_IT : محدد موقع خدمة لحقن التبعية.
- دارتز : حزمة برمجة وظيفية توفر أنواع ووظائف البيانات الجبرية الشائعة.
- flutter_bloc : مكتبة لإدارة الدولة تعتمد على نمط الكتلة (مكون منطق العمل).
- Equatable : حزمة الأدوات المساعدة لمقارنة الكائنات للمساواة.
- DIO : عميل HTTP قوي لتقديم طلبات API.
- Formz : حزمة للتعامل مع صحة النموذج وإدارة الدولة.
- go_router : جهاز توجيه إعلاني لتطبيقات الرفرفة.
- MIME : حزمة للعمل مع أنواع MIME.
- file_picker : مكون إضافي لاختيار الملفات من الجهاز.
- Mocktail : مكتبة يسخر من اختبارات السهام والرفاهية.
- internet_connection_checker : حزمة للتحقق من اتصال الإنترنت.
بالإضافة إلى التبعيات ، هناك أيضًا بعض تبعيات DEV المستخدمة للاختبار وتوليد الكود:
- flutter_test : إطار اختبار الرفرفة.
- Mockito : مكتبة سخرية لاختبارات السهام والرفرف.
- Build_runner : أداة لإنشاء رمز أثناء عملية الإنشاء.
- bloc_test : أداة اختبار للاختبار الكتل.
- network_image_mock : حزمة لسخرية صور الشبكة أثناء الاختبارات.