سجاد — مدیریت انبار
سیستم انبارداری PWA با قابلیت آفلاین — ثبت، توزیع، تاریخچه و گزارشگیری با خروجی Excel
ویدیو
پیشنمایش کم حجم — روی Cloudflare بهینهگالری
3 تصویر — کلیک برای بزرگنماییچیست
یک اپ مدیریت انبار فارسی و راستبهچپ که کاملاً در مرورگر اجرا میشود. دادهها در 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 + وزیرمتن + تقویم شمسی) از روز اول طراحی شده، نه بهعنوان افزونه.