تطبيق ذكي وفاخر مبني ببيئة Flutter، صُمم خصيصاً لإدارة وحصر حضور المتدربين والركاب في الرحلات والانتقالات اليومية. يتميز التطبيق بالعمل محلياً بالكامل (Offline-First) دون الحاجة لإنترنت، ويقدم تجربة مستخدم (UX) استثنائية تعتمد على تصاميم الـ Premium Dark Theme وتأثيرات الـ Glassmorphism.
- 📸 ماسح QR ذكي: تسجيل الحضور بلمح البصر عبر مسح بطاقات الـ QR الخاصة بالمشتركين.
- 🔄 استنساخ الرحلات (Smart Clone): ميزة توفر الوقت! يمكنك تكرار أية رحلة لتسجيل كافة المشتركين في رحلة عمل جديدة مع تصفير الحضور تلقائياً، مع بقاء كروت הـ QR التابعة لهم صالحة للعمل.
- 📊 إحصائيات فورية (Live Stats): لوحة تحكم تعرض لك أعداد الحضور والغياب بصرياً بشكل دائري وأنيق بمجرد المسح.
- 📄 تصدير تقارير PDF: توليد وطباعة ومشاركة كشوفات الحضور التفصيلية بضغطة زر.
- 📱 نظام Offline دائم: جميع البيانات تُحفظ محلياً في قاعدة بيانات
SQLiteآمنة للعمل حتى في المناطق معدومة التغطية. - 🎨 تجربة مستخدم فاخرة: تصميم داكن مريح (Midnight Slate) مع تأثيرات زجاجية، وظلال ثلاثية الأبعاد، واستخدام ذكي لعشرات الأيقونات الجمالية.
- إطار العمل (Framework): Flutter (Dart)
- قاعدة البيانات (Database):
sqflite - قارئ الأكواد (Scanner):
mobile_scanner - منشئ الأكواد (Generator):
qr_flutter - محرك الـ PDF (PDF Gen):
pdf&printing - التوجيه والصلاحيات (Permissions):
permission_handler
البرنامج لا يحتاج لأي ربط بـ Firebase أو خوادم خارجية؛ بمجرد التثبيت، سيعمل فوراً.
قم بفتح الطرفية (Terminal) في مسار المشروع واكتب:
flutter pub getإذا قمت بتغيير أيقونة التطبيق، يمكنك إنشاؤها عبر حزمة flutter_launcher_icons:
flutter pub run flutter_launcher_iconsللبدء في تشغيل التطبيق على الهاتف المتصل أو المحاكي:
flutter runيعتمد التطبيق على هيكل بياني مبني على SQL كما يلي:
- جدول
trips(الرحلات): يحتوي على (الاسم، التاريخ/الوقت، الملاحظات). - جدول
subscribers(المشتركين): مربوط برحلة (Foreign Key)، ويحتوي على (الاسم، كود QR، حالة الحضور، وقت الحضور).
- إضافة إمكانية "استيراد ملفات Excel/CSV" لرفع قائمة مشتركين دفعة واحدة.
- إضافة خيار النسخ الاحتياطي السحابي (Google Drive Backup) لحفظ قاعدة البيانات محلياً للآمان.
- إضافة نغمة/اهتزاز مخصص عند التقاط رمز الـ QR.
تم تصميم وتطوير هذا التطبيق بشغف لتقديم أفضل أداة مساعدة للمنظمين. 🌟