نظام إدارة شامل لشركة العزب للمقاولات المتكاملة
تطبيق Frappe متكامل لإدارة:
- المشاريع الإنشائية
- طلبات الصيانة
- الفواتير والمدفوعات
- إدارة العملاء والموظفين
- تتبع المواعيد والمهام
alazab-construction/ # المستوى الأول: المجلد الرئيسي
├── alazab_construction/ # المستوى الثاني: مجلد التطبيق (Python Package)
│ ├── __init__.py # معلومات الإصدار
│ ├── hooks.py # إعدادات وخطافات Frappe
│ ├── modules.txt # قائمة الموديولات
│ ├── config/ # المستوى الثالث: إعدادات إضافية
│ │ └── docs.py
│ ├── public/ # المستوى الثالث: الملفات الثابتة
│ │ ├── css/
│ │ │ └── azab_theme.css
│ │ └── js/
│ │ ├── azab_about.js
│ │ ├── azab_contact.js
│ │ ├── azab_projects.js
│ │ └── azab_services.js
│ ├── templates/ # المستوى الثالث: قوالب HTML
│ │ ├── includes/
│ │ │ └── azab_sidebar.html
│ │ └── pages/
│ │ ├── azab_about.html
│ │ ├── azab_contact.html
│ │ ├── azab_projects.html
│ │ └── azab_services.html
│ └── www/ # المستوى الثالث: صفحات الويب العامة
│ └── __init__.py
├── setup.py # ملف تثبيت Python
├── requirements.txt # متطلبات Python
├── MANIFEST.in # ملفات التضمين
└── README.md # هذا الملف
-
المستوى الأول (
alazab-construction/):- المجلد الرئيسي للمشروع
- يحتوي على ملفات الإعداد والتثبيت
- استخدام hyphen (-) في الاسم
-
المستوى الثاني (
alazab_construction/):- مجلد التطبيق Python Package
- يحتوي على كود التطبيق الرئيسي
- استخدام underscore (_) في الاسم
-
المستوى الثالث (الموديولات والمكونات):
config/: إعدادات إضافيةpublic/: ملفات CSS وJS والأصول الثابتةtemplates/: قوالب Jinja2www/: صفحات الويب العامة
- Frappe Framework >= 14.0.0
- Python >= 3.10
- Node.js >= 18
- MariaDB/PostgreSQL
bench init frappe-bench --frappe-branch version-14
cd frappe-bench# من GitHub
bench get-app https://github.com/YOUR_USERNAME/alazab-construction.git
# أو من مجلد محلي
bench get-app /path/to/alazab-constructionbench new-site alazab.local
bench --site alazab.local usebench --site alazab.local install-app alazab_constructionbench build --app alazab_constructionbench startافتح المتصفح على: http://alazab.local:8000
بيانات الدخول:
- Username:
Administrator - Password: [كلمة المرور المُدخلة عند إنشاء الموقع]
cd apps/alazab_construction
git pull
cd ../..
bench --site alazab.local migrate
bench build --app alazab_construction
bench restartbench --site alazab.local clear-cache
bench --site alazab.local clear-website-cachebench --site alazab.local set-config developer_mode 1bench --site alazab.local uninstall-app alazab_constructionbench build --app alazab_construction --force# إعداد Nginx و Supervisor
sudo bench setup production [your-frappe-user]
# تفعيل SSL
sudo bench setup lets-encrypt alazab.local- Assets:
/assets/alazab_construction/ - CSS:
/assets/alazab_construction/css/azab_theme.css - JS:
/assets/alazab_construction/js/*.js - Templates: يتم الوصول إليها عبر Jinja في Frappe
- Web Pages:
/alazab_construction/www/
setup.py: إعدادات تثبيت Pythonrequirements.txt: متطلبات PythonMANIFEST.in: تحديد الملفات المُضمنة في التوزيع
__init__.py: رقم الإصدارhooks.py: إعدادات Frappe والخطافاتmodules.txt: قائمة الموديولات المتاحة
config/: إعدادات إضافية للتطبيقpublic/: ملفات CSS وJS والأصول الثابتةtemplates/: قوالب Jinja2 للصفحاتwww/: صفحات ويب عامة يمكن الوصول إليها مباشرة
-
أسماء المجلدات:
- المجلد الرئيسي:
alazab-construction(بـ hyphen) - مجلد التطبيق:
alazab_construction(بـ underscore)
- المجلد الرئيسي:
-
اسم التطبيق في الأوامر:
- استخدم
alazab_construction(بـ underscore)
- استخدم
-
البنية الثلاثية:
- المستوى الأول: مجلد المشروع
- المستوى الثاني: مجلد التطبيق Python
- المستوى الثالث: الموديولات والمكونات
-
الملفات الثابتة:
- يتم بناؤها في مجلد
assets/ - متاحة على
/assets/alazab_construction/
- يتم بناؤها في مجلد
bench --site alazab.local add-web-page "Page Name" --module "Module Name"bench --site alazab.local add-doctype "DocType Name" --module "Module Name"bench --site alazab.local run-tests --app alazab_constructionMIT License
شركة العزب للمقاولات المتكاملة
- الموقع: https://al-azab.co
- البريد الإلكتروني: info@al-azab.co
للمساعدة والاستفسارات:
تم التطوير باستخدام ❤️ من قبل فريق العزب للمقاولات