پرش به محتوا
SalamPet

SalamPet: سایت مراقبت از حیوانات خانگی، پنل کسب‌وکارها و پنل مدیریت

SalamPet پلتفرمی برای مراقبت از حیوانات خانگی در امارات است؛ قرار است رزرو دامپزشکی، آرایش و نظافت، پانسیون، آموزش و پت‌تاکسی را یک‌جا و با قیمت اعضا ممکن کند و بنیان‌گذارانش می‌خواهند آن را به سوپراپ حیوانات خانگی تبدیل کنند. ما نسخهٔ ۰٫۱ آن را ساختیم: سایتی که صاحبان حیوانات از آن استفاده خواهند کرد، به‌علاوهٔ پنل کسب‌وکارها و پنل مدیریتی که تیم SalamPet با آن کار می‌کند، هر دو روی یک API.

مراقبت از حیوانات خانگیامارات2026پیش از راه‌اندازی
salampet.com
صفحهٔ اصلی SalamPet: تیتر «Every pet need, one smarter app.» کنار یک سگ گلدن رتریور و یک گربه روی قوسی آبی، همراه کارت‌هایی برای قیمت اعضا و یک نوبت تأییدشدهٔ دامپزشکی.
مشاهدهٔ salampet.com
19صفحه در سایت مشتریان
29صفحه در دو پنل
3زبان در دو پنل

چالش

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

کاری که کردیم

کار را با نُه سند پژوهشی و طرح جامع شروع کردیم، از جمله معماری فنی و مشخصات هر دو پنل، و نسخهٔ ۰٫۱ را بر پایهٔ آن‌ها در یک کدبیس TypeScript ساختیم: یک API با NestJS روی PostgreSQL، دو پنل Next.js که نقش‌ها، وضعیت‌ها و قواعد اعتبارسنجی را از یک تعریف مشترک می‌گیرند، و سایت مشتریان که از همان سیستم طراحی پنل‌ها استفاده می‌کند. هر خدمتی که کسب‌وکاری ثبت می‌کند با یکی از هشت شیوهٔ رزرو تعریف می‌شود، از نوبت زمانی و اقامت شبانه تا اعزام به محل مشتری، استعلام قیمت یا بلیت، و معماری قرار است بر همین پایه انواع تازهٔ مراقبت را با تنظیمات اضافه کند نه با کد تازه؛ هر خدمت هم سه قیمت دارد: قیمت عادی کسب‌وکار، قیمت SalamPet و قیمتی پایین‌تر برای اعضا. کسب‌وکار ثبت‌نام می‌کند، مشخصات، ساعت کاری و خدماتش را وارد می‌کند، مجوز تجاری و ثبت شهرداری‌اش را در فضای ذخیره‌سازی خصوصی بارگذاری می‌کند و پرونده‌اش را برای بررسی می‌فرستد؛ تیم آن را تأیید، با ذکر دلیل رد یا تعلیق می‌کند و هر تخفیف را هم پیش از انتشار بررسی می‌کند. پای صندوق، کارمند کد کارت عضو را وارد می‌کند، سطح عضویت و نام کوتاه‌شدهٔ عضو را می‌بیند و صورت‌حساب را ثبت می‌کند، و امتیازها در دفتری می‌نشینند که فقط ردیف تازه می‌پذیرد و هیچ ردیفی در آن ویرایش نمی‌شود. نقش‌ها یک بار تعریف شده‌اند و API آن‌ها را اعمال می‌کند، توکن‌های ورود در کوکی‌هایی نگه داشته می‌شوند که اسکریپت‌های مرورگر نمی‌توانند آن‌ها را بخوانند، هر اقدام حساس در گزارش ممیزی ثبت می‌شود، و فیلتر کلمات که به انگلیسی، عربی و فارسی کار می‌کند، با شکل‌های گوناگون حروف عربی و فارسی، فاصله انداختن میان حروف یا ارقام فارسی و عربی فریب نمی‌خورد و شمارهٔ تلفن امارات، لینک، نشانی ایمیل، شمارهٔ کارت شناسایی امارات و شمارهٔ IBAN را همیشه علامت می‌زند. سایت با ظاهری چیده شده که بنیان‌گذاران انتخاب کردند، یعنی پس‌زمینهٔ کرم گرم و حیوانات دوربری‌شده روی قوس‌های رنگی؛ برای پر کردن آن، ۲۰ عکس دوربری‌شده‌ای را که بنیان‌گذاران از حیوانات فرستاده بودند تمیزکاری کردیم و از هشت عکس، برش دایره‌ای چهره هم درآوردیم.

چه چیزی ساختیم

  • پنل کسب‌وکارها و پنل مدیریت روی یک API
  • هر خدمت با یکی از هشت شیوهٔ رزرو
  • سه قیمت برای هر خدمت: عادی، SalamPet و ویژهٔ اعضا
  • کارت عضویتی که در پرداخت حضوری امتیاز اضافه می‌کند
  • فقط کسب‌وکارهای دارای مجوز، با بررسی تیم پیش از انتشار
  • فیلتر کلمات به انگلیسی، عربی و فارسی

نتیجه

سایت در ۱۹ اکتبر ۲۰۲۶ بالا آمد و API و هر دو پنل روز بعد روی پروداکشن رفتند، بی‌آنکه هیچ دادهٔ نمایشی‌ای همراهشان باشد. سایت ۱۹ صفحه دارد: صفحهٔ اصلی، صفحهٔ معرفی خدمات، هفت دستهٔ مراقبت، شش صفحهٔ کسب‌وکار، تخفیف‌ها، صفحهٔ فروشگاه، باشگاه SalamPet و صفحه‌ای برای کسب‌وکارها که به ثبت‌نام در پنل کسب‌وکارها می‌رسد. پشت صفحهٔ ورود، دو پنل ۲۹ صفحه دارند، پنل کسب‌وکارها به انگلیسی و عربی و پنل مدیریت به انگلیسی و فارسی، و روی ۷۹ مسیر API و ۲۱ جدول پایگاه داده کار می‌کنند. تا زمانی که کسب‌وکارهای واقعی به پلتفرم بپیوندند، کسب‌وکارها، قیمت‌ها، تخفیف‌ها و نظرهای روی سایت محتوای نمونه‌اند، برای همین سایت از موتورهای جست‌وجو می‌خواهد آن را ایندکس نکنند. گام‌های بعدی در فهرست خود پروژه این‌هاست: بخش مشتری در API، اتصال سایت به آن، اپلیکیشن موبایل و پرداخت، در مسیر سوپراپی که بنیان‌گذاران در نظر دارند.

بخش‌های سیستم

سایت مشتریان

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

صفحهٔ آرایش و نظافت: یک پودل روی قوسی نارنجی، بالای فیلترهای محله، نوع حیوان و مرتب‌سازی، و در فهرست زیرش یک مرکز آرایش و نظافت نمونه.
هرکدام از هفت دستهٔ مراقبت را می‌شود بر اساس محله و نوع حیوان فیلتر و بر اساس امتیاز، قیمت یا تعداد رزرو مرتب کرد.
صفحهٔ یک مرکز آرایش و نظافت نمونه: سطح، امتیاز و برچسب‌هایش، و فهرست خدماتش که هرکدام قیمت عادی، قیمت اپ و قیمت اعضا دارد.
هر خدمت سه قیمت دارد تا عضو پیش از رزرو ببیند چقدر صرفه‌جویی می‌کند. کسب‌وکار این تصویر نمونه است.
صفحهٔ باشگاه SalamPet: تیتر «Love your pet. Pay less for it.» کنار یک سگ لابرادور سیاه روی قوسی طلایی و بادبزنی از کارت‌های عضویت.
صفحهٔ باشگاه سه سطح عضویت را معرفی می‌کند: Member، Plus و VIP، که کارت VIP مشکی و طلایی است.
صفحهٔ اصلی روی موبایل، با منویی که پشت یک دکمه جمع شده است.
روی موبایل منو جمع می‌شود و جست‌وجو بر اساس نوع مراقبت و محله در بخش بالایی صفحه می‌ماند.

پنل کسب‌وکارها

جایی که هر کسب‌وکار حوزهٔ حیوانات خانگی کارهای خودش را در SalamPet پیش می‌برد، به انگلیسی یا عربی. کسب‌وکار تازه باید پیش از فرستادن پرونده‌اش برای بررسی، چک‌لیستی شامل مشخصات مجوز، مدارک، خدمات و ساعت کاری را کامل کند. پس از فعال شدن، مالک، مدیران و کارکنانش هرکدام با نقش خودشان وارد می‌شوند و همین نقش تعیین می‌کند چه کسی می‌تواند رزروها را تأیید کند، قیمت‌ها و تخفیف‌ها را تنظیم کند، فروش با کارت عضویت را پای صندوق ثبت کند، به نظرها پاسخ دهد یا صورت‌حساب‌های تسویه را ببیند. شمارهٔ کامل تلفن مشتری هیچ‌وقت به دست کسب‌وکار نمی‌رسد. تصویرهای زیر از یک اجرای محلی با داده‌های نمایشی ساختگی گرفته شده‌اند.

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

پنل مدیریت

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

داشبورد مدیریت: کسب‌وکارها، تخفیف‌ها و نظرهای نگه‌داشته‌شده‌ای که منتظر تیم‌اند، آمار ۳۰ روز گذشتهٔ پلتفرم، رزروهای روزانه و کسب‌وکارهای برتر بر اساس ارزش رزرو، همه با دادهٔ نمایشی.
تیم کارش را با چیزهایی شروع می‌کند که منتظرش هستند: کسب‌وکارها و تخفیف‌هایی که باید بررسی شوند، و نظرهایی که فیلتر واژه‌ها نگه داشته است.
فهرست کسب‌وکارها: کسب‌وکارهای نمونه در همهٔ وضعیت‌ها، از پیش‌نویس و در انتظار بررسی تا فعال، ردشده و تعلیق‌شده.
همهٔ کسب‌وکارها از وضعیت‌های یکسانی می‌گذرند و تیم همه را در یک فهرست می‌بیند.
صفحهٔ واژه‌های نظارت: واژه‌ها و عبارت‌هایی به انگلیسی، فارسی و عربی با اقدامی که هر کدام انجام می‌دهند، کنار فرم افزودن واژه و کادری برای آزمودن یک متن.
این کلمات متن انگلیسی، عربی و فارسی را برای بررسی نگه می‌دارند یا مسدود می‌کنند، و ابزار آزمایش بی‌آنکه چیزی ذخیره کند نشان می‌دهد با هر متنی چه می‌شود.
قدم بعدی

چیز مشابهی در ذهن دارید؟

بریف را بفرستید. صادقانه می‌گوییم که استودیوی مناسبش هستیم یا نه.

تا مسئله را نفهمیم، هیچ ارائه‌ای نمی‌فرستیم.

hello@4ai.ae