Next.jsPostgreSQLTypeScriptPrismaReactNextAuth / Auth.jsZodRedisVitestPWA

سامانهٔ ثبت درخواست خدمات پس از فروش

اپلیکیشن تحت وبِ موبایل‌محوری که تماس تلفنی مشتری را با یک لینک امن پیامکی به درخواست خدماتِ ساخت‌یافته تبدیل می‌کند — به‌همراه پنل کامل اپراتور و مدیریت برای پیگیری، تخصیص و گزارش‌گیری.

  • نوع پروژه: اپلیکیشن تحت وب (PWA) به‌همراه پنل پشتیبانی و مدیریت
  • کارفرما: یک شرکت صنعتی (نام کارفرما بنا بر توافق محرمانه منتشر نمی‌شود)
  • نقش سپرو وب: طراحی و پیاده‌سازی کامل؛ از مدل داده و امنیت تا رابط مشتری و پنل کارکنان
  • وضعیت: تکمیل‌شده و تحویل‌شده

مسئله‌ای که حل کردیم

واحد پشتیبانی کارفرما درخواست‌های خدمات را تلفنی دریافت می‌کرد. نتیجه، اطلاعاتِ پراکنده و خطاهای مکرر در ثبت شمارهٔ سریال دستگاه بود و هیچ مسیر مشخصی برای پیگیری، زمان‌بندی و گزارش‌گیری وجود نداشت. نیاز روشن بود: تبدیل تماس تلفنی به یک پروندهٔ دیجیتالِ قابل‌پیگیری، بدون آنکه مشتری مجبور شود فرم بلندبالایی پر کند.

آنچه طراحی و پیاده‌سازی کردیم

مسیر مشتری با یک شمارهٔ موبایل آغاز می‌شود: سامانه یک لینک اختصاصی، یک‌بارمصرف و زمان‌دار پیامک می‌کند. لینک، یک گفت‌وگوی هدایت‌شده را باز می‌کند که هر بار فقط یک پرسش می‌پرسد و پاسخ هر مرحله را بی‌درنگ روی سرور ذخیره می‌کند؛ اگر کاربر وسط کار خارج شود، چیزی از دست نمی‌رود. شمارهٔ سریال دستگاه را می‌توان با اسکن بارکد، تایپ دستی یا ارسال عکس ثبت کرد. در پایان، یک کد رهگیری صادر و پیامک تأیید ارسال می‌شود.

پشت این تجربهٔ ساده، یک دفترِ کارِ کامل برای کارکنان قرار دارد: صف درخواست‌ها، برداشتن و واگذاری و انتقال پرونده، ثبت سوابق تماس، یادداشت‌ها و پیگیری‌های زمان‌دار، تغییر اولویت و وضعیت، و در نهایت بستن پرونده. بخش مدیریت نیز داشبورد، تحلیل‌ها، پیکربندی زمان‌های پاسخ‌گویی (SLA)، مدیریت کارکنان و خروجی گزارش را در اختیار می‌گذارد.

امنیت و حریم خصوصی، از روز اول

این سامانه با دادهٔ واقعیِ مشتریان کار می‌کند، بنابراین امنیت جزئی از طراحی بود، نه افزودنی پایانی: توکن لینک، کد یک‌بارمصرف و نشانی IP همگی به‌صورت هش‌شده و با «فلفلِ» سمت سرور نگهداری می‌شوند؛ ثبت نهایی درخواست با یک عملیات اتمی یک‌بارمصرف انجام می‌شود تا ارسال تکراری ممکن نباشد؛ مسیرهای کارکنان در لبهٔ شبکه محافظت می‌شوند؛ نرخ درخواست‌ها محدود شده و یک زمان‌بند دوره‌ای، دادهٔ هویتی قدیمی را پاک یا بی‌نام می‌کند.

مقیاس پروژه

  • دو مسیر ورود مشتری روی یک جریانِ لینکِ امن و یک‌بارمصرف
  • ۵ نقش کاری با ماتریس دسترسی سمت سرور
  • ۷ دستهٔ خدمات، به‌همراه اهداف زمان پاسخ‌گویی، تحلیل‌ها و پایش سلامت صف
  • بیش از ۶۰ نقطهٔ سرویس در سه سطح مشتری، اپراتور و مدیر
  • مدل دادهٔ ۱۵ جدولی با ۶ مهاجرت نسخه‌بندی‌شده

معماری فنی

پیاده‌سازی روی Next.js 16 با App Router و دو گروه مسیر مجزا (مشتری و کارکنان) انجام شده است. لایهٔ داده PostgreSQL با Prisma 7 و اتصال Pool شده است؛ احراز هویت کارکنان با NextAuth v5 و مجوزدهی با یک ماتریس سمت سرور بر پایهٔ نقش انجام می‌شود. ارسال پیامک پشت یک واسط مستقل از تأمین‌کننده قرار گرفته تا تعویض سرویس‌دهنده بدون تغییر منطق برنامه ممکن باشد، و دو جریان رویدادِ جداگانه — امنیتی و کسب‌وکاری — سوابق را تفکیک می‌کند.

ویژگی‌ها

آنچه این پروژه دارد.

  • لینک پیامکی اختصاصی، یک‌بارمصرف و زمان‌دار برای هر درخواست
  • فرم گفت‌وگومحور با ذخیرهٔ خودکار هر مرحله روی سرور
  • ثبت شمارهٔ سریال با اسکن بارکد، تایپ دستی یا عکس
  • ورود مستقیم عمومی با تأیید شمارهٔ موبایل (OTP)
  • پنل اپراتور: صف، تخصیص، انتقال، سوابق تماس و پیگیری
  • پنل مدیریت: داشبورد، تحلیل، پیکربندی SLA و خروجی گزارش
  • کد رهگیری و پیامک تأیید برای مشتری
  • پاک‌سازی دوره‌ای و بی‌نام‌سازی خودکار دادهٔ هویتی
همکاری

پروژه‌ای مشابه دارید؟

شروع پروژهبازگشت به نمونه‌کارها
سامانهٔ ثبت درخواست خدمات پس از فروش | نمونه‌کار سپرو وب | سپرو وب