Skip to content
PilotothegreatPublic

About

Q

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

نظام إدارة نقاط البيع والمخزون لبوتيك تأجير المساحات

نظام ويب متكامل لإدارة بوتيك يقوم بتأجير مساحات عرض للتاجرات، يغطي: الإدارة، المساحات، البائعات، المنتجات والمخزون، نقطة البيع، العقود، والتقارير.

المزايا الرئيسية

الإدارة

  • لوحة تحكم ذكية بإحصائيات لحظية (مبيعات اليوم/الشهر، نسبة إشغال المساحات، تنبيهات المخزون)
  • رسم بياني لمبيعات آخر 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 إلى قيمة عشوائية طويلة قبل أي استخدام إنتاجي.

About

Q

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages