هذا المشروع عبارة عن تطبيق موبايل مبني باستخدام Flutter يتيح للمستخدمين البحث عن الكتب، عرض تفاصيلها، وتنظيمها بسهولة باستخدام واجهة برمجة تطبيقات Open Library API. الهدف الرئيسي من التطبيق هو جعل استكشاف الكتب بسيطًا ومنظمًا.
المميزات:
يمكن للمستخدمين البحث عن الكتب مباشرة من مكتبة Open Library.
تُعرض نتائج البحث على شكل بطاقات تحتوي على عنوان الكتاب وغلافه.
عند الضغط على أي كتاب، يتم فتح صفحة التفاصيل الخاصة به، والتي تتضمن معلومات مثل المؤلف، الموضوعات، الشخصيات، الأعمال المرتبطة، والأماكن أو الأزمنة المرتبطة بالقصة.
يمكن للمستخدم الانتقال إلى صفحة المؤلف لعرض السيرة الذاتية، الصور، والروابط الخارجية إن وجدت.
يحتوي كل عمل على قائمة بالإصدارات المختلفة، ويمكن للمستخدم عرض تفاصيل الإصدار مثل عدد الصفحات، تاريخ النشر، دور النشر، مدى توفر النسخة، وروابط القراءة أو الاستعارة إن وُجدت.
يمكن للمستخدم إنشاء قوائم مخصصة لتنظيم الكتب حسب رغبته، مع وجود قائمة افتراضية باسم "الكتب المحفوظة" للوصول السريع إلى الكتب المفضلة.
يمكن تخصيص ألوان مختلفة لكل قائمة لتسهيل التمييز بينها وتحسين تجربة الاستخدام.
️ التنفيذ:
تم بناء التطبيق باستخدام Flutter مع استخدام BLoC لإدارة الحالة وفصل واجهة المستخدم عن المنطق البرمجي.
تم استخدام Sqflite كقاعدة بيانات محلية لتخزين القوائم والكتب المحفوظة بكفاءة.
تم استخدام حزمة HTTP للتواصل مع Open Library API وجلب بيانات الكتب والمؤلفين.
يعتمد التطبيق على هيكلية منظمة تفصل بين البيانات والمنطق وطبقة العرض بوضوح.
التنقل بين الشاشات (نتائج البحث، تفاصيل العمل، معلومات المؤلف، والإصدارات) يتم من خلال نظام Navigator في Flutter.
تم بناء واجهة المستخدم وفقًا لمبادئ تصميم Material Design مع دعم التحديث الديناميكي عبر BLoC Streams.
يتم تخزين الألوان المخصصة وإدارتها محليًا، كما تُنفّذ عمليات قاعدة البيانات بشكل غير متزامن للحفاظ على سلاسة التطبيق واستجابته.