وصف تطبيق Quiz App باستخدام Flutter و GetX لإدارة الحالة
مراحل التنفيذ:
1. التخطيط وكتابة المتطلبات:
- قمت أولاً بتحديد المتطلبات الأساسية للتطبيق، والتي تشمل إدخال اسم المستخدم، عرض الأسئلة، تنفيذ مؤقت زمني للإجابة على كل سؤال، وحساب النتيجة النهائية.
- اخترت إدارة الحالة باستخدام GetX لسهولة التعامل مع الحالة والتحكم في البيانات عبر التطبيق.
2. تصميم الواجهة (UI Design):
- بدأت بتصميم واجهة إدخال اسم المستخدم باستخدام Text Field، بحيث يقوم المستخدم بإدخال اسمه قبل البدء.
- قمت بتصميم صفحة الأسئلة التي تحتوي على:
- نص السؤال.
- خيارات الإجابة في شكل أزرار يمكن للمستخدم الضغط عليها.
- مؤقت زمني لكل سؤال يعرض 15 ثانية للإجابة.
3. إدارة الأسئلة والمراحل (Question Flow):
- قمت بإنشاء صفحة الأسئلة (quiz_screen.dart) التي تعرض الأسئلة بالتتابع. بعد اختيار المستخدم للإجابة أو انتهاء الوقت المحدد، ينتقل المستخدم للسؤال التالي.
- استخدمت GetX للتحكم في البيانات والانتقال بين الأسئلة.
- كل سؤال مرتبط بعدّاد زمني (Timer) يتم ضبطه على 15 ثانية.
4. إضافة إدارة الحالة باستخدام GetX:
- قمت بإنشاء Controller لإدارة الأسئلة والوقت والنتائج.
- في كل مرة يختار المستخدم إجابة أو ينتهي المؤقت، يقوم Controller بتحديث الحالة الحالية للتطبيق (مثل الانتقال للسؤال التالي أو عرض النتيجة النهائية).
5. تنفيذ المؤقت الزمني (Timer Implementation):
- كل سؤال يحتوي على مؤقت 15 ثانية. إذا لم يجب المستخدم خلال هذه المدة، يتم تلقائيًا الانتقال للسؤال التالي.
- قمت بتطبيق هذه الميزة باستخدام Timer والتحكم فيه عبر GetX.
6. حساب النتيجة النهائية:
- بعد انتهاء جميع الأسئلة، يتم عرض النتيجة النهائية مع اسم المستخدم. النتيجة تعتمد على عدد الإجابات الصحيحة التي قام المستخدم بإعطائها.
7. اختبار التطبيق وتحسين الأداء:
- قمت باختبار التطبيق على أكثر من جهاز لضمان التوافقية وسلاسة الأداء.
- قمت بتحسين استخدام الذاكرة والتحميل السريع عبر GetX.
النتيجة النهائية:
التطبيق يظهر واجهة بسيطة وسهلة الاستخدام مع إمكانية:
- إدخال اسم المستخدم.
- الانتقال بين 4 أسئلة كل سؤال لديه مؤقت زمني 15 ثانية للإجابة.
- عرض النتيجة النهائية بعد الإجابة على جميع الأسئلة أو انتهاء الوقت.
- عرض اسم المستخدم والنتيجة النهائية من 4.
الهدف النهائي كان بناء تطبيق Quiz سهل الاستخدام وسريع في الأداء مع إدارة فعالة للحالة باستخدام GetX.
ملاحظات هامة:
- تم تغيير ايقونة التطبيق و اسمه بما يتناسب مع المشروع
- بإمكان التعديل على المشروع حسب متطلبات الزبون الذي يحتاجها
اسم المستقل | سيف الدين ا. |
عدد الإعجابات | 0 |
عدد المشاهدات | 3 |
تاريخ الإضافة | |
تاريخ الإنجاز |