دربارهٔ پروژهٔ پازل سلامتی
این صفحه، معرفی فنی پروژه است — نه صفحهٔ فروش. صفحهٔ اصلی سایت، همان فروشگاه است و اینجا ساختار، امکانات و معماری پروژه را میبینید. (این صفحه در نتایج موتورهای جستجو ایندکس نمیشود.)
این پروژه چیست؟
«پازل سلامتی» یک فروشگاه آنلاین محصولات طبیعی و سلامتمحور است (روغنهای پرس سرد، عسل طبیعی و دمنوشها) که بهصورت یک پروژهٔ کامل و قابل اجرا ساخته شده: فروشگاه مشتریان، پنل مدیریت برای گرداندن کسبوکار، سرور API و دیتابیس. هدف این بوده که همهٔ حلقههای یک فروشگاه واقعی — از دیدن کالا تا پرداخت، ارسال، مرجوعی و پشتیبانی — در یک پروژهٔ یکپارچه کار کند.
امکانات فروشگاه
آنچه مشتری در سایت میبیند و از آن استفاده میکند.
خرید آنلاین کامل
دستهبندیها، جستجو و فیلتر، سبد خرید ماندگار و تسویهحساب گامبهگام با محاسبهٔ ارسال.
پرداخت آنلاین و در محل
سه درگاه داخلی (زرینپال، زیبال، آیدیپی) با انتخاب درگاه از پنل + امکان پرداخت در محل.
ارسال و پیگیری سفارش
محاسبهٔ هزینهٔ ارسال، آستانهٔ ارسال رایگان، ثبت کد رهگیری و صفحهٔ پیگیری سفارش برای مشتری.
باشگاه مشتریان و گردونهٔ شانس
کسب امتیاز پس از پرداخت موفق، خرج امتیاز در خرید و گردونهٔ شانس با نتیجهٔ سروری (ضد تقلب).
دیدگاه و امتیاز مشتریان
ثبت دیدگاه روی کالا با تأیید مدیریت، نشان «خرید تأییدشده» و نمایش میانگین امتیاز.
مرجوعی و بازگشت کالا
ثبت درخواست مرجوعی در مهلت قانونی فروشگاه، پیگیری وضعیت و ثبت نتیجه در پنل.
پنل مدیریت
فروشگاه بدون پنل، فقط یک ویترین است؛ بخشهای مدیریتی پروژه:
داشبورد و گزارشها
تصویر لحظهای فروش، پرفروشترین کالاها، هشدار موجودی و گزارشهای فروش/انبار با خروجی CSV.
کالاها، دستهبندی و رسانه
ساخت و ویرایش کالا، گالری تصاویر با فشردهسازی سمت مرورگر، بنر اصلی و اسلایدر صفحهٔ اصلی.
سفارشها و انبار ارسال
مدیریت سفارشها، تغییر وضعیت، یادداشت داخلی، فاکتور و صفحهٔ پیگیری مرسولهها با کد رهگیری.
مشتریان و کارکنان
فهرست مشتریان با آمار خرید، و مدیریت کارکنان پنل با نقش و دسترسیهای دقیق.
بازاریابی
کدهای تخفیف (درصدی/مبلغی با سقف و حداقل سفارش)، باشگاه امتیاز و گردونهٔ شانس.
تنظیمات فروشگاه و پرداخت
نام و اطلاعات تماس، لوگو و شبکههای اجتماعی، و کنترل کامل درگاه فعال/روشنخاموش/حالت آزمایشی.
معماری فنی
سه لایهٔ مستقل در یک مخزن (مونوریپو) که هرکدام جداگانه اجرا و مستقر میشوند.
apps/api — بکاند
NestJS ۱۰ با احراز هویت JWT، محدودیت نرخ درخواست، اعتبارسنجی ورودیها و ماژولبندی جدا برای هر بخش (کالا، سفارش، پرداخت، پیامک، گزارش و…).
دیتابیس — PostgreSQL + Prisma
۲۴ مدل و بیش از ۳۰۸ ستون در قالب ۲۱ مهاجرت تکرارپذیر؛ ساختار داده با آزمون خودکار «همخوانی اسکیما و مهاجرت» محافظت میشود.
apps/web — فروشگاه و پنل
Next.js ۱۵ (App Router) با React ۱۹ و Tailwind، چیدمان کاملاً راستبهچپ، رندر تازهٔ صفحات فروش و پنل مدیریت روی همان اپ.
ساختار پوشهها
pazellsalamati/ ├── apps/ │ ├── api/ ← بکاند NestJS + Prisma + PostgreSQL │ └── web/ ← فروشگاه Next.js + پنل مدیریت ├── docs/ ← مستندات، گزارش تحویل و راهنمای استقرار ├── tools/ ← ابزارهای اجرا، بررسی مهاجرت و پیشنمایش └── PAZELLSALAMATI-LAUNCHER.bat ← اجرای محلی روی ویندوز
بررسی خودکار در بکاند و وب (قواعد مالی، سفارش، پرداخت، کوپن، امتیاز و…)
مهاجرت دیتابیس، همه تکرارپذیر؛ اجرای دوبارهشان بیخطر است
کل فروشگاه و پنل راستبهچپ، با ارقام و متنهای فارسی
اجرای محلی
روی ویندوز کافی است لانچر پروژه اجرا شود؛ خودش دیتابیس، مهاجرتها و هر دو سرور را بالا میآورد:
PAZELLSALAMATI-LAUNCHER.bat # یا دستی: cd apps/api && npm run start:dev # API → :4000 cd apps/web && npm run dev # سایت → :3001
پنل مدیریت: /admin/login
استقرار روی سرور
پروژه روی Railway سه سرویس دارد: دیتابیس Postgres، بکاند سرویس api (Root = apps/api) و فروشگاه + پنل سرویس pazzelsalamati (Root = apps/web). فقط سرویس pazzelsalamati دامنهٔ عمومی میگیرد و مسیرهای /api و /uploads از داخل شبکهٔ خصوصی به API میرسند.
راهنمای کامل: docs/استقرار-روی-Railway.md