Skip to content

Flutter fuel management system for company gas stations with offline support and QR scanning

Notifications You must be signed in to change notification settings

egyadmin/fule-ios

Repository files navigation

Flutter App - نظام إدارة الوقود

تطبيق Flutter للموبايل لإدارة عمليات تزويد الوقود مع دعم العمل بدون إنترنت.

المميزات

  • 🌐 دعم ثنائي اللغة: عربي/إنجليزي مع زر تبديل سريع
  • 📱 تصميم عصري: واجهة مستخدم جميلة باستخدام Material Design 3
  • 🔒 آمن: تسجيل دخول بـ JWT وتخزين آمن
  • 📴 يعمل بدون إنترنت: تخزين محلي مع مزامنة تلقائية
  • 📷 ماسح QR: مسح سريع لأكواد المعدات

التثبيت

1. تثبيت Flutter

# Windows
choco install flutter

# أو قم بتحميله من
# https://flutter.dev/docs/get-started/install

1.1. تحديث متغيرات البيئة (PATH)

بعد تثبيت Flutter، قد تحتاج إلى إضافة مسار Flutter SDK إلى متغيرات البيئة PATH في نظام Windows لتتمكن من تشغيل أوامر flutter من أي مكان.

  1. من قائمة "ابدأ"، ابحث عن env واختر "Edit the system environment variables".
  2. في النافذة التي تظهر، اضغط على "Environment Variables...".
  3. في قسم "User variables"، ابحث عن متغير Path واضغط "Edit...".
  4. اضغط "New" وأضف المسار إلى مجلد bin داخل مجلد تثبيت Flutter (عادة يكون C:\src\flutter\bin).
  5. اضغط "OK" في جميع النوافذ.
  6. هام: أغلق وأعد فتح أي نافذة Terminal أو PowerShell أو Android Studio لتطبيق التغييرات.

2. التحقق من التثبيت

flutter doctor

3. تثبيت الحزم

# تأكد من أنك في المجلد الرئيسي للمشروع
flutter pub get

4. تشغيل التطبيق

# Android
flutter run -d android

# iOS
flutter run -d ios

# Web (للتطوير فقط)
flutter run -d chrome

هيكل المشروع

lib/
├── 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 # زر تبديل اللغة

إعداد الخط العربي (Cairo)

الخط يتم تحميله تلقائياً من Google Fonts. إذا أردت استخدام خط محلي:

  1. قم بتحميل خط Cairo من Google Fonts
  2. ضع ملفات الخط في assets/fonts/
  3. الخطوط المطلوبة:
    • 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

تشغيل التطبيق على المحاكي

  1. أنشئ Emulator:
    • ToolsDevice ManagerCreate Virtual Device
    • اختر Pixel 6
    • اختر System Image (API 34)
    • Finish
  2. شغّل الـ Emulator (اضغط على زر Play بجانب الجهاز)
  3. شغّل التطبيق:
    • الطريقة الأولى: اضغط على زر Run (المثلث الأخضر) في Android Studio
    • أو من Terminal:
      flutter run

About

Flutter fuel management system for company gas stations with offline support and QR scanning

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published