🌐وب‌اپسال: ۲۰۲۵تکمیل‌شده

سجاد — مدیریت انبار

سیستم انبارداری PWA با قابلیت آفلاین — ثبت، توزیع، تاریخچه و گزارش‌گیری با خروجی Excel

سجاد — مدیریت انبار cover
HTML/CSS/JSIndexedDBPWA / Service WorkerChart.jsSheetJSflatpickr

چیست

یک اپ مدیریت انبار فارسی و راست‌به‌چپ که کاملاً در مرورگر اجرا می‌شود. داده‌ها در IndexedDB مرورگر ذخیره می‌شوند، یک سرویس‌ورکر منابع را کش می‌کند و کل اپ آفلاین کار می‌کند — مثل یک اپ دسکتاپ، بدون سرور.

رابط آن با فونت وزیرمتن (Vazirmatn) و تقویم/انتخابگر تاریخ flatpickr فارسی ساخته شده و نامش از کاربری‌اش می‌آید: «سجاد — مدیریت انبار».

ویژگی‌های کلیدی

  • ورود/ثبت‌نام کاربران و پروفایل
  • مدیریت کالا — ثبت، ویرایش، جستجو/پیشنهاد کالا (updateItemSuggestions)، دسته‌بندی
  • انبارش و توزیع — ورود کالا به انبار (saveItem) و خروج/توزیع (dispatchItem) با مدیریت موجودی
  • تاریخچه کامل — همه تراکنش‌ها (displayHistory)
  • هشدار موجودی کمcheckLowStock برای کالاهای رو به اتمام
  • نمودار موجودیupdateInventoryChart با Chart.js و هماهنگی با تم روشن/تاریک (updateChartTheme)
  • خروجی Excel — با SheetJS (xlsx.full.min.js)
  • PWA — مانیفست، آیکون، نصب به‌عنوان اپ؛ کش نسخه‌دار (sajjad-inventory-v24) در sw.js
  • Toast و Debounce — بازخورد کاربری (showToast) و جستجوی بهینه (debounce)

ساختار پروژه

index.html            # رابط (فارسی RTL)
script.js (۷۷۳ خط)    # منطق: IndexedDB، CRUD، نمودار، خروجی Excel
style.css (۸۱۶ خط)    # استایل فارسی با وزیرمتن
sw.js (۶۴ خط)         # سرویس‌ورکر PWA (کش کامل + آفلاین)
manifest.webmanifest  # مانیفست PWA
cs.js                 # کانورتور/کمک‌کننده تاریخ شمسی
xlsx.full.min.js      # SheetJS برای خروجی Excel

شروع کار

فایل‌ها را روی هر هاست استاتیکی قرار دهید (یا فقط index.html را باز کنید) — بدون build، بدون وابستگی سرور. برای نصب به‌عنوان اپ، در مرورگر «Add to Home Screen» را بزنید؛ سرویس‌ورکر همه منابع را برای استفاده آفلاین کش می‌کند.

چرا برجسته است

این پروژه نشان می‌دهد که با ابزار خالص (بدون فریم‌ورک) هم می‌شود یک محصول کاربردی تحویل داد: دیتابیس IndexedDB، سرویس‌ورکر آفلاین، نمودار و خروجی اکسل — همه در ۷۷۳ خط جاوااسکریپت تمیز و مستقل. تجربه کاربری فارسی (RTL + وزیرمتن + تقویم شمسی) از روز اول طراحی شده، نه به‌عنوان افزونه.

پروژه‌های بیشتر