# تطبيق التجارة - Tijaraty
## **نوع المشروع:**
تطبيق **موبايل متكامل** (Full-stack) لـ **إدارة الأعمال والمحاسبة** مبني على Flutter مع دعم العمل بدون إنترنت.
---
## **الميزات الرئيسية:**
### ? إدارة العملاء
- **إضافة العملاء**: حفظ بيانات العميل (الاسم، الهاتف، العنوان)
- **استيراد جهات الاتصال**: استيراد الأرقام من جهات اتصال الهاتف
- **تحرير بيانات العميل**: تعديل ومحو معلومات العملاء
- **عرض سجل العميل**: تتبع المعاملات والفواتير السابقة
### ? إدارة المبيعات (Ventes)
- **تسجيل العمليات البيعية**: إنشاء فاتورة جديدة لكل عملية بيع
- **إضافة المنتجات للفاتورة**: اختيار المنتجات والكميات والأسعار
- **حساب الإجمالي التلقائي**: حساب الإجمالي والضرائب تلقائياً
- **طباعة الفواتير**: طباعة الفواتير مع تنسيق احترافي
### ? إدارة المنتجات
- **قائمة المنتجات**: عرض جميع المنتجات المتاحة
- **إضافة منتج جديد**: حفظ الاسم والسعر والوصف
- **تعديل المنتجات**: تحديث معلومات المنتج
- **تتبع الكمية**: حساب الكميات المتبقية من المنتجات
### ? لوحة التحكم (Dashboard)
- **الإحصائيات العامة**: عدد العملاء، المنتجات، المبيعات اليومية
- **الرسوم البيانية**: عرض رسوم بيانية للمبيعات والإيرادات
- **النشاط الأخير**: عرض أحدث المعاملات والعمليات
---
## **التكنولوجيا المستخدمة:**
| المكون | التكنولوجيا |
|--------|-----------|
| **الإطار الأساسي** | Flutter 3.7.2+ و Dart |
| **إدارة الحالة** | GetX (State Management) |
| **قاعدة البيانات** | SQLite (محلي) / MySQL (خادم) |
| **التخزين المؤقت** | SharedPreferences |
| **الشبكة** | HTTP Client + Connectivity Plus |
| **الواجهة الأمامية** | Material Design |
| **الرسوم البيانية** | FL Chart |
| **الرسوم المتحركة** | Lottie |
| **الصور والرسومات** | Flutter SVG |
| **الأذونات** | Permission Handler |
| **جهات الاتصال** | Flutter Contacts |
---
## **البنية الهندسية:**
```
lib/
├── controller/ # منطق الأعمال والحالة
│ ├── auth/ # المصادقة وتسجيل الدخول
│ ├── clients/ # إدارة العملاء
│ ├── products/ # إدارة المنتجات
│ ├── ventes/ # إدارة المبيعات
│ ├── dashboard/ # لوحة التحكم
│ └── home/ # الصفحة الرئيسية
├── views/ # واجهات المستخدم
│ ├── screens/ # الشاشات الرئيسية
│ └── widgets/ # المكونات المعاد استخدامها
├── data/ # البيانات والنماذج
│ └── models/ # نماذج البيانات
├── core/ # الخدمات الأساسية
│ ├── services/ # الخدمات (قاعدة البيانات، API)
│ ├── middleware/ # وسيط المصادقة
│ ├── constant/ # الثوابت والإعدادات
│ └── functions/ # الدوال المساعدة
└── main.dart # نقطة البداية
```
---
## **قاعدة البيانات:**
### جدول العملاء (Clients)
- `id` - معرف فريد
- `name` - اسم العميل
- `phone` - رقم الهاتف
- `email` - البريد الإلكتروني
- `address` - العنوان
### جدول المنتجات (Products)
- `id` - معرف فريد
- `name` - اسم المنتج
- `price` - السعر
- `description` - الوصف
- `quantity` - الكمية المتاحة
- `category` - الفئة
### جدول المبيعات (Sales)
- `id` - معرف فريد
- `client_id` - معرف العميل
- `total` - الإجمالي
- `date` - تاريخ البيع
- `items` - عناصر الفاتورة
### جدول المستخدمين (Users)
- `id` - معرف فريد
- `name` - اسم المستخدم
- `email` - البريد الإلكتروني
- `password` - كلمة المرور (مشفرة)
- `role` - الدور (admin, user, etc)
---
## **الخطوات الأساسية للتشغيل:**
```bash
# 1. التأكد من تثبيت Flutter SDK
flutter --version
# 2. استنساخ المشروع
cd tijara-app
# 3. تثبيت المكتبات
flutter pub get
# 4. إنشاء ملف البيئة
cp .env.example .env
# 5. تشغيل التطبيق
flutter run
# 6. أو البناء للإطلاق
flutter build apk # Android
flutter build ios # iOS
flutter build web # Web
flutter build windows # Windows
flutter build linux # Linux
```
---
---