نظام نقاط بيع وإدارة تشغيل لمتجر كمبيوتر، مبني بـ PHP + SQLite، مع واجهة عربية وميزات تشغيل يومية تشمل المبيعات، الصيانة، المخزون، العملاء، الحسابات، الخزنة، والتقارير.
المشروع مناسب للأنشطة الصغيرة والمتوسطة التي تحتاج:
- نقطة بيع سريعة (POS) مع طباعة إيصال.
- إدارة منتجات وفئات ومخزون.
- إدارة عملاء وموردين ومشتريات ومصروفات.
- متابعة الصيانة وطلبات الخدمة.
- دورة مالية يومية (خزنة + قيود محاسبية تلقائية).
- تشغيل مستقر بدون تعقيد قواعد بيانات خارجية (SQLite).
- واجهة عربية RTL + تاريخ عربي مع خيار إظهار/إخفاء التاريخ الهجري من الإعدادات.
- دعم PWA (تثبيت كتطبيق + عمل أساسي أثناء انقطاع الاتصال).
- قفل شاشة تلقائي عند عدم النشاط وإعادة فتح عبر كلمة المرور أو PIN.
- ضريبة قابلة للتفعيل/التعطيل من لوحة الإعدادات.
- إدارة أصناف متقدمة:
- استيراد/تصدير (عملاء، موردين، منتجات، تصنيفات).
- قوالب جاهزة للاستيراد لتقليل الأخطاء.
- تحديد صفوف للتصدير + تحديد الكل.
- التحكم في عدد الصفوف المعروضة (مثل 15/30/50/100).
- نقطة البيع:
- Pagination للمنتجات مع أحجام عرض متعددة.
- تحكم لكل مستخدم في حجم بطاقات المنتجات.
- حفظ سلة المشتريات محليًا وعدم فقدها مع التحديث.
- تمييز المنتجات المنتهية ومنع إضافتها للسلة.
- تحديث تلقائي للواجهة بعد إتمام البيع.
- اختيار عميل اختياري عند الدفع (بحث أو إضافة عميل سريعًا).
- دعم البيع بالدين والسداد الجزئي، مع متابعة المدفوع والمتبقي.
- حفظ الطلبات المعلقة واسترجاعها/حذفها.
- البحث عن الفواتير غير المسددة (برقم الفاتورة/اسم العميل/الهاتف) ثم تحصيل جزء أو كامل المبلغ.
- المحاسبة والمالية:
- ترحيل قيود تلقائي عند البيع/المرتجع/تحصيل الدين.
- دورة كاشير يومية مع سياسات إقفال (مراجعة مدير أو إقفال مباشر حسب المستخدم).
- تقارير مالية وتشغيلية وملخصات خزنة.
- نسخ احتياطي وصيانة قاعدة البيانات:
- نسخ احتياطي يدوي وتلقائي.
- أدوات تحسين SQLite (
VACUUM/ANALYZE) وفحص سريع لسلامة القاعدة.
- Backend:
PHP(بدون إطار). - Database:
SQLite(ملف محلي). - Frontend: HTML/CSS/JavaScript.
- PWA:
manifest.php+service-worker.js.
- PHP 8.1 أو أحدث (يفضل PHP 8.2+).
- تفعيل امتدادات:
pdo_sqlitesqlite3mbstringjson
- متصفح حديث (Chrome / Edge / Firefox).
- نسخ المشروع:
git clone <repo-url>
cd "POS for Computer Shop"- تشغيل خادم PHP المحلي:
php -S localhost:8000- فتح النظام:
http://localhost:8000
عند أول تشغيل يتم إنشاء قاعدة البيانات تلقائيًا في
database/pos.dbوتنفيذschema.sqlوseed.sql.
- Admin:
- Username:
admin - Password:
admin123 - PIN:
1234
- Username:
- Cashier:
- Username:
cashier1 - Password:
admin123 - PIN:
1111
- Username:
- Technician:
- Username:
tech1 - Password:
admin123 - PIN:
2222
- Username:
مهم: غيّر كلمات المرور وPIN مباشرة بعد أول تسجيل دخول في بيئة فعلية.
.
├── admin/ # صفحات الإدارة (لوحة التحكم، تقارير، حسابات، خزنة...)
├── api/ # واجهات API لنقطة البيع والعمليات الديناميكية
├── assets/ # ملفات الواجهة والأيقونات
├── database/ # schema.sql, seed.sql, pos.db, backups/
├── includes/ # المصادقة، المساعدات، الاتصال بقاعدة البيانات
├── logs/ # سجلات الأخطاء
├── pos.php # شاشة نقطة البيع الرئيسية
├── maintenance.php # إدارة الصيانة
├── buy-used.php # شراء المنتجات المستعملة
├── manifest.php # إعدادات PWA الديناميكية
├── service-worker.js # Service Worker
└── README.md
- المبيعات ونقطة البيع:
pos.php,api/orders.php - الطلبات المعلقة:
api/suspended-orders.php - تحصيل فواتير الدين:
api/due-invoices.php - العملاء:
admin/customers.php,api/customers.php - المالية والمحاسبة:
admin/accounting.php,admin/treasury.php,admin/finance-reports.php - التقارير:
admin/reports.php,admin/advanced-reports.php - النسخ الاحتياطي:
admin/backup.php
- صلاحيات حسب الدور (
admin / cashier / technician). - حماية نماذج POST عبر CSRF.
- كلمات المرور وPIN تعتمد على hashing.
- إمكانية قفل الشاشة داخل الجلسة بدون تسجيل خروج.
- سجل نشاط للمراجعة الإدارية.
- SQLite بوضع
WALمعforeign_keys=ON. - Pagination في الجداول والشاشات الثقيلة.
- فهارس إضافية للوحدات المالية والتشغيلية.
- نسخ احتياطي دوري + أدوات صيانة قاعدة البيانات.
- اضبط
APP_ENV=productionلمنع عرض الأخطاء مباشرة. - تأكد من صلاحيات الكتابة للمجلدات:
database/database/backups/logs/uploads/
- يفضل تشغيل النظام خلف خادم ويب فعلي (Nginx/Apache) عند النشر.
- تحسين لوحات التحليلات المالية الرسومية.
- إشعارات أدق للدين المستحق وتواريخ التحصيل.
- تحسينات إضافية لتجربة الموبايل والتابلت.
- واجهات تصدير تقارير مالية أكثر تخصيصًا.
- افتح
Issueيشرح المشكلة أو التحسين المقترح. - أنشئ فرعًا جديدًا للتعديل.
- أرسل
Pull Requestواضح مع وصف التغييرات.
الترخيص غير محدد حاليًا. يفضل إضافة ملف LICENSE قبل النشر الرسمي.