Skip to content

About

POS for Computer Shop

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

POS for Computer Shop

نظام نقاط بيع وإدارة تشغيل لمتجر كمبيوتر، مبني بـ 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_sqlite
    • sqlite3
    • mbstring
    • json
  • متصفح حديث (Chrome / Edge / Firefox).

التشغيل المحلي

  1. نسخ المشروع:
git clone <repo-url>
cd "POS for Computer Shop"
  1. تشغيل خادم PHP المحلي:
php -S localhost:8000
  1. فتح النظام:
  • http://localhost:8000

عند أول تشغيل يتم إنشاء قاعدة البيانات تلقائيًا في database/pos.db وتنفيذ schema.sql و seed.sql.

حسابات تجريبية افتراضية

  • Admin:
    • Username: admin
    • Password: admin123
    • PIN: 1234
  • Cashier:
    • Username: cashier1
    • Password: admin123
    • PIN: 1111
  • Technician:
    • Username: tech1
    • Password: admin123
    • PIN: 2222

مهم: غيّر كلمات المرور و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) عند النشر.

خارطة تطوير مقترحة

  • تحسين لوحات التحليلات المالية الرسومية.
  • إشعارات أدق للدين المستحق وتواريخ التحصيل.
  • تحسينات إضافية لتجربة الموبايل والتابلت.
  • واجهات تصدير تقارير مالية أكثر تخصيصًا.

المساهمة

  1. افتح Issue يشرح المشكلة أو التحسين المقترح.
  2. أنشئ فرعًا جديدًا للتعديل.
  3. أرسل Pull Request واضح مع وصف التغييرات.

الترخيص

الترخيص غير محدد حاليًا. يفضل إضافة ملف LICENSE قبل النشر الرسمي.

About

POS for Computer Shop

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages