⚡
چالشها
رستوران چاووش پیش از این پروژه فقط سفارش تلفنی میپذیرفت و هیچ بستر آنلاینی برای دریافت سفارش نداشت.
در ساعات شلوغی، تماسهای تلفنی از دست میرفت و مشتریان ناراضی میشدند.
مدیریت سفارشها بهصورت دستی و روی کاغذ انجام میشد که منجر به خطاهای انسانی میشد.
نبود سیستم پرداخت آنلاین باعث میشد مشتریان مجبور به پرداخت نقدی در محل باشند.
اطلاعات مشتریان و سابقهٔ سفارشها بهطور پراکنده نگهداری میشد و قابل بازیابی نبود.
صاحب رستوران هیچ ابزاری برای تحلیل فروش و مدیریت محصولات نداشت.
💡
راهحلها
پیادهسازی یک وباپلیکیشن Django با معماری سه-اپلیکیشنی (account / site_profile / zarinpal) برای جداسازی دغدغهها.
پیادهسازی سیستم احراز هویت دوگانه: ورود با رمز عبور سنتی و ورود با کد یکبارمصرف پیامکی (OTP).
اتصال به API پیامکی «قاصدک» برای ارسال کد ثبتنام، ورود، و اعلان سفارش جدید به مدیر.
یکپارچهسازی درگاه پرداخت زرینپال v4 با پیادهسازی کامل چرخهٔ Request → StartPay → Verify و ذخیرهٔ RefID.
طراحی سبد خرید پویا با AJAX که بدون رفرش صفحه، تعداد و قیمت را بهروزرسانی میکند.
ساخت پنل ادمین اختصاصی با دسترسی نقشمحور برای مدیریت محصولات، کاربران، سفارشها، و کنترل دستی ساعات کاری.
📚
دستاوردها
کاهش چشمگیر تماسهای تلفنی و انتقال بخش عمدهای از سفارشها به بستر آنلاین.
افزایش دقت سفارشها و حذف خطاهای ناشی از ثبت دستی روی کاغذ.
پرداخت آنلاین امن و سریع با امکان پیگیری از طریق کد RefID.
مدیریت متمرکز تمام محصولات، کاربران و سفارشها از طریق یک پنل ادمین واحد.
کاهش زمان پردازش هر سفارش از چند دقیقه به چند ثانیه.
امکان مشاهدهٔ سابقهٔ خرید مشتریان و تحلیل فروش برای صاحب رستوران.
🔧
نکات فنی برجسته
پیادهسازی احراز هویت OTP بدون نیاز به پسورد برای تجربهٔ کاربری سادهتر.
اتصال کامل به درگاه پرداخت زرینپال v4 با چرخهٔ Request و Verify و ذخیرهٔ RefID در دیتابیس.
ارسال پیامک خودکار سفارش جدید به مدیر با API قاصدک در لحظهٔ تأیید پرداخت.
استفاده از تقویم شمسی (Jalali) با کتابخانهٔ persiantools برای نمایش تاریخ سفارشها.
پیادهسازی سبد خرید پویا با AJAX بدون رفرش صفحه و همگامسازی لحظهای قیمتها.
طراحی رابط کاربری کاملاً RTL، ریسپانسیو و سازگار با موبایل و دسکتاپ.
🏗️
معماری پروژه
پروژه بر پایهٔ الگوی MTV جنگو (Model-Template-View) طراحی شده است.
اپلیکیشن account مسئول مدیریت کاربر سفارشی، احراز هویت، و ارسال پیامک است.
اپلیکیشن site_profile شامل مدلهای محصول، سبد خرید، و سفارشها بههمراه پنل ادمین و کاربر است.
اپلیکیشن zarinpal مسئول ارتباط با درگاه پرداخت و تأیید تراکنشها است.
مدل User با AbstractUser سفارشیسازی شده و فیلدهای اضافی مثل موبایل، اطلاعات بانکی و تصویر پروفایل دارد.
قالبها بهصورت component-based سازماندهی شدهاند (header, sidebar, footer بهعنوان include).
📐
مقیاس پروژه
پروژه در حال حاضر بهصورت زنده روی دامنهٔ chavoosh.restaurant در حال اجرا است.
در حال خدمترسانی به مشتریان واقعی رستوران چاووش در منطقهٔ فردیس و مشکین دشت.
شامل سه اپلیکیشن مستقل جنگو با بیش از ده مدل داده.
پشتیبانی از دو نوع احراز هویت و دو API خارجی (زرینپال و قاصدک).
طراحی شده برای مقیاسپذیری با معماری ماژولار و قابل توسعه.
مدیریت کامل چرخهٔ سفارش از انتخاب محصول تا پرداخت و تأیید نهایی.