نظام ويب متكامل لإدارة بوتيك يقوم بتأجير مساحات عرض للتاجرات، يغطي: الإدارة، المساحات، البائعات، المنتجات والمخزون، نقطة البيع، العقود، والتقارير.
- لوحة تحكم ذكية بإحصائيات لحظية (مبيعات اليوم/الشهر، نسبة إشغال المساحات، تنبيهات المخزون)
- رسم بياني لمبيعات آخر 14 يومًا وأحدث الفواتير وأفضل التاجرات أداءً
- إدارة فئات المساحات
- إدارة المساحات (الكود، الإيجار الشهري، الحالة) والأرفف الخاصة بكل مساحة
- ربط تلقائي بين حالة المساحة (مؤجرة/متاحة) وحالة العقد الساري عليها
- إدارة بيانات التاجرات وحالتهن
- عرض العقود والاشتراكات والرسوم الخاصة بكل تاجرة
- احتساب العمولات تلقائيًا من نسبة العقد الساري عند كل عملية بيع
- صفحة أداء لكل تاجرة (إجمالي المبيعات، العمولات، صافي المستحقات)
- إدارة المنتجات وربطها بالتاجرة والتصنيف والرف
- تصنيفات متعددة (تدعم تصنيفات فرعية)
- رفع صور المنتجات
- SKU وباركود، وتنبيهات نقص المخزون، وبحث سريع
- شاشة نقطة بيع (POS) بحث فوري بالاسم/SKU/الباركود
- إصدار فواتير قابلة للطباعة / التصدير كـ PDF من المتصفح
- مرتجعات واستبدال مع إعادة الكمية للمخزون تلقائيًا
- طرق دفع متعددة (نقدًا، بطاقة، دفع إلكتروني، تحويل بنكي)
- خصومات على مستوى الصنف أو الفاتورة كاملة
- تصدير سجل الفواتير إلى CSV/Excel
- إنشاء عقود إيجار بسهولة وربطها بمساحة وتاجرة
- تجديد وتسوية (دفعة اشتراك جديدة تُسجَّل تلقائيًا عند التجديد)
- أرشفة رقمية للعقود (رفع PDF أو صورة العقد)
- متابعة حالة العقود (ساري / بحاجة لتجديد / منتهٍ / ملغى) بشكل تلقائي حسب تاريخ الانتهاء
- تقارير قابلة للتخصيص بأي فترة، مع اختصارات (اليوم، آخر 7 أيام، هذا الشهر، الشهر الماضي)
- مقارنة تلقائية مع الفترة السابقة المكافئة (نسبة التغير)
- أداء التاجرات وأفضل 10 منتجات مبيعًا خلال الفترة
- تصدير Excel/CSV وطباعة/تصدير PDF من المتصفح
- Next.js 14 (App Router) + TypeScript
- Prisma + SQLite (قاعدة بيانات محلية بملف واحد، لا تحتاج إعداد خادم منفصل)
- Tailwind CSS مع دعم كامل للعربية واتجاه RTL
- مصادقة بسيطة عبر جلسة JWT في كوكي HttpOnly (bcryptjs + jose)
npm install
cp .env.example .env # عدّلي AUTH_SECRET قبل الإنتاج
npm run db:push # إنشاء قاعدة البيانات وفق المخطط
npm run db:seed # تعبئة بيانات تجريبية (تاجرات، منتجات، فواتير...)
npm run devالتطبيق يعمل على http://localhost:3000
| الدور | البريد الإلكتروني | كلمة المرور |
|---|---|---|
| مدير | admin@boutique.local | Admin@12345 |
| كاشير | cashier@boutique.local | Cashier@12345 |
npm run db:reset # إعادة إنشاء القاعدة وتعبئتها من الصفر (يحذف كل البيانات)
npm run build # بناء نسخة الإنتاج
npm run lint # فحص جودة الكود- قاعدة البيانات SQLite ملف محلي (
prisma/dev.db) مناسبة للتجربة والنشر على خادم واحد؛ للانتقال إلى بيئة متعددة الخوادم يُنصح بتبديلdatasourceفيprisma/schema.prismaإلى PostgreSQL أو MySQL. - صور المنتجات ومستندات العقود تُحفظ في
public/uploadsعلى القرص المحلي؛ في بيئة استضافة بدون قرص دائم (serverless) يُفضّل استبدالها بتخزين سحابي (S3 ونحوه). - غيّري
AUTH_SECRETفي.envإلى قيمة عشوائية طويلة قبل أي استخدام إنتاجي.