وبسایت فروش محصول
فروشگاهی که خودت میگردانی — درگاه، کارتبهکارت، آمار و سئو
مسئلهای که حل میکنیم
فروشت در دایرکت گیر کرده: قیمت را دستی میگویی، رسید کارتبهکارت لای چت گم میشود، و هیچوقت نمیدانی چند نفر محصول را دیدند و نخریدند. قالب آماده هم جوابت را نمیدهد، چون درگاهت، زبانت و محصول استعلامیات در آن جا نمیشود.
فروشگاه را از صفر میسازیم: Next.js 15 با App Router، React 19، TypeScript و Tailwind v4، روی PostgreSQL و Redis با Prisma. اسکیمای فروشگاهی که ساختیم ۴۵ مدل دارد و پنل مدیریتش ۲۱ صفحه است — از محصول و سفارش تا گزارش مالی، بازپرداخت، سئو و دفتر رویدادها.
نکتهٔ فنی که تفاوت را میسازد: چهار درگاه پرداخت — زرینپال، زیبال، آیدیپی و یک درگاه تست — پشت یک انتزاع واحد نشستهاند، و انتخاب درگاه فعال و کلیدهایش از خود پنل انجام میشود نه از داخل کد. روزی که درگاهت را عوض کنی، کسی لازم نیست دیپلوی کند.
آمار بازدید هم اولشخص است و هیچ ردیاب بیرونی ندارد: IP فقط هششده با salt ذخیره میشود، رباتها فیلتر میشوند، داده بهصورت rollup روزانه جمع میشود و لحظهای با SSE استریم میشود.
چطور پیش میرویم
هر مرحله یک خروجی قابل دیدن دارد؛ هیچ مرحلهای «در حال انجام» باقی نمیماند.
- ۱
بریف و ساختار کاتالوگ
محصولها، مجموعهها، زبانها، و اینکه کدام محصول قیمت دارد و کدام استعلامی میماند.
- ۲
مدل داده و پنل
اسکیما و پنل مدیریت اول ساخته میشود، چون تا محتوا وارد نشود صفحهٔ فروشگاه چیزی برای نشان دادن ندارد.
- ۳
پرداخت و سفارش
درگاهها پشت انتزاع واحد وصل میشوند، صف تأیید رسید راه میافتد، و کل مسیر با درگاه تست از سبد تا سفارش رد میشود.
- ۴
سئو، آمار و تحویل روی سرور
نقشهٔ سایت، JSON-LD و ریدایرکتها؛ بعد خروجی standalone پشت nginx با systemd و گواهی Let’s Encrypt روی سرور خودت بالا میآید.
نمونهٔ کار
این خدمت روی پروژههای واقعی
هر کدام از اینها از یک عکس مرجع شروع شد و با فایل آمادهٔ برش تمام شد.

صندلی کودک
صندلی کودک با پشتی کنگرهای و برش قلب — بدنهٔ کناری یکتکه، بدون هیچ یراقی.

کتابخانهٔ خانهای کودک
کتابخانهٔ رو-به-جلو با سه ردیف پلکانی و پنج لبهٔ کنگرهای — دوازده اتصال، صفر پیچ.

برج یادگیری ارتفاعپذیر
یک برج، سه تراز ایستادن — از یک تا چهار سالگی، بدون هیچ یراق.
قدم بعدی
کار را با یک گفتوگوی کوتاه شروع کنیم
نه فرم طولانی، نه جلسهٔ رسمی. یک عکس و یک جملهٔ توضیح کافی است تا بدانیم مسئله چیست و چقدر طول میکشد.
