تطبيق Flutter للموبايل لإدارة عمليات تزويد الوقود مع دعم العمل بدون إنترنت.
- 🌐 دعم ثنائي اللغة: عربي/إنجليزي مع زر تبديل سريع
- 📱 تصميم عصري: واجهة مستخدم جميلة باستخدام Material Design 3
- 🔒 آمن: تسجيل دخول بـ JWT وتخزين آمن
- 📴 يعمل بدون إنترنت: تخزين محلي مع مزامنة تلقائية
- 📷 ماسح QR: مسح سريع لأكواد المعدات
# Windows
choco install flutter
# أو قم بتحميله من
# https://flutter.dev/docs/get-started/installبعد تثبيت Flutter، قد تحتاج إلى إضافة مسار Flutter SDK إلى متغيرات البيئة PATH في نظام Windows لتتمكن من تشغيل أوامر flutter من أي مكان.
- من قائمة "ابدأ"، ابحث عن
envواختر "Edit the system environment variables". - في النافذة التي تظهر، اضغط على "Environment Variables...".
- في قسم "User variables"، ابحث عن متغير
Pathواضغط "Edit...". - اضغط "New" وأضف المسار إلى مجلد
binداخل مجلد تثبيت Flutter (عادة يكونC:\src\flutter\bin). - اضغط "OK" في جميع النوافذ.
- هام: أغلق وأعد فتح أي نافذة Terminal أو PowerShell أو Android Studio لتطبيق التغييرات.
flutter doctor# تأكد من أنك في المجلد الرئيسي للمشروع
flutter pub get# Android
flutter run -d android
# iOS
flutter run -d ios
# Web (للتطوير فقط)
flutter run -d chromelib/
├── main.dart # نقطة البداية
├── l10n/
│ └── app_localizations.dart # ملفات الترجمة
├── theme/
│ └── app_theme.dart # تصميم التطبيق
├── models/
│ ├── operator.dart # نموذج المشغل
│ ├── equipment.dart # نموذج المعدة
│ └── fuel_transaction.dart # نموذج المعاملة
├── providers/
│ ├── language_provider.dart # إدارة اللغة
│ ├── auth_provider.dart # إدارة المصادقة
│ ├── sync_provider.dart # إدارة المزامنة
│ ├── equipment_provider.dart # إدارة المعدات
│ └── transaction_provider.dart # إدارة المعاملات
├── services/
│ ├── database_service.dart # قاعدة البيانات المحلية
│ └── api_service.dart # خدمة API
├── screens/
│ ├── splash_screen.dart # شاشة البداية
│ ├── login_screen.dart # تسجيل الدخول
│ ├── home_screen.dart # الصفحة الرئيسية
│ ├── scanner_screen.dart # ماسح QR
│ ├── transaction_screen.dart # إدخال معاملة
│ ├── history_screen.dart # سجل المعاملات
│ └── settings_screen.dart # الإعدادات
└── widgets/
└── language_toggle_button.dart # زر تبديل اللغة
الخط يتم تحميله تلقائياً من Google Fonts. إذا أردت استخدام خط محلي:
- قم بتحميل خط Cairo من Google Fonts
- ضع ملفات الخط في
assets/fonts/ - الخطوط المطلوبة:
- Cairo-Regular.ttf
- Cairo-Bold.ttf
- Cairo-SemiBold.ttf
- Cairo-Medium.ttf
- Cairo-Light.ttf
عدّل ملف lib/services/api_service.dart:
static const String baseUrl = 'http://YOUR_SERVER_IP:3000/api';- مدير: admin / admin123
- مشغل: operator1 / operator123
# Android APK
flutter build apk --release
# Android App Bundle
flutter build appbundle --release
# iOS
flutter build ios --release- أنشئ Emulator:
Tools→Device Manager→Create Virtual Device- اختر
Pixel 6 - اختر
System Image(API 34) Finish
- شغّل الـ Emulator (اضغط على زر Play بجانب الجهاز)
- شغّل التطبيق:
- الطريقة الأولى: اضغط على زر
Run(المثلث الأخضر) فيAndroid Studio - أو من Terminal:
flutter run
- الطريقة الأولى: اضغط على زر