Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions pos-app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# POS Barber Suite

تطبيق نقطة بيع وإدارة صالون الحلاقة يعمل بدون إنترنت، مبني بتقنيات **React + TypeScript + Electron + SQLite** مع تصميم Soft Glass Neumorphism. المشروع جاهز للعمل فورًا على أنظمة سطح المكتب.

## ⚙️ المتطلبات
- Node.js 18+
- نظام تشغيل يدعم Electron (Windows / macOS / Linux)

## 🚀 خطوات التشغيل
```bash
npm install
npm run dev # لتشغيل الواجهة عبر Vite
npm run electron # لتشغيل التطبيق كبرنامج سطح مكتب خلال التطوير
npm run electron:prod # بناء الواجهة ثم تشغيل النسخة المكتملة
npm run build # إنشاء نسخة إنتاجية من الواجهة
```

## 🧱 بنية المشروع
```
/pos-app
├── electron.js # نقطة دخول تطبيق Electron
├── preload.js # الجسر الآمن بين الواجهة والعمليات الخلفية
├── package.json
├── tailwind.config.js
├── tsconfig.json
├── /src
│ ├── App.tsx
│ ├── main.tsx
│ ├── components
│ ├── contexts
│ ├── db
│ ├── hooks
│ ├── i18n
│ ├── pages
│ └── styles
└── README.md
```

## 🛠 مميزات أساسية
- شاشة تسجيل دخول (admin/password) مع تشفير كلمات المرور.
- لوحة معلومات متقدمة تشمل مؤشرات يومية وشهرية ورسوم بيانية.
- شاشة POS سريعة مع دعم قارئ الباركود، التخفيضات، الضرائب، والدفع المتعدد.
- إدارة كاملة للمنتجات مع رفع الصور، الاستيراد والتصدير بصيغة CSV، وتنبيه انخفاض المخزون.
- إدارة العملاء والموردين، المصروفات، التقارير، والإعدادات العامة.
- دعم الطباعة عبر PrintJS وإنشاء ملفات PDF عبر jsPDF، مع إمكانية التصدير إلى Excel.
- تعدد اللغات (العربية والإنجليزية) باستخدام i18next مع تبديل فوري للواجهة.
- تصميم Soft Glass Neumorphism متجاوب مع الحركات باستخدام Framer Motion.
- قاعدة بيانات SQLite محلية يتم إنشاؤها تلقائيًا مع بيانات تجريبية عند التشغيل الأول.

## 🧾 الحسابات الافتراضية
| نوع المستخدم | اسم المستخدم | كلمة المرور |
|--------------|---------------|--------------|
| مدير (Admin) | admin | password |

## 🛡️ ملاحظات أمنية
- يتم حفظ كلمات المرور عبر مكتبة bcryptjs.
- يتم تنفيذ جميع العمليات الحساسة داخل عملية Electron الخلفية مع عزلة تامة للواجهة.

## 🧰 إنشاء ملف تنفيذي
يمكن استخدام [electron-builder](https://www.electron.build/) أو أوامر Electron الافتراضية.

لإنشاء ملف EXE:
```bash
npm install
npm run build
npx electron-builder build -w
```

> جميع التعليقات داخل الأكواد باللغتين العربية والإنجليزية لمساعدة المطورين على الفهم السريع.

بالتوفيق 💈
9 changes: 9 additions & 0 deletions pos-app/electron-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import { PosAPI } from "./src/db/client";

declare global {
interface Window {
posAPI: PosAPI;
}
}

export {};
Loading
Loading