مطالعه موردی پلتفرم خدمات گیمینگ
Royal Boost؛ توسعه پلتفرم اختصاصی خدمات و قیمتگذاری گیمینگ
نمونه کار طراحی و توسعه Royal Boost؛ پلتفرمی اختصاصی برای قیمتگذاری خدمات بازی، ثبت و پیگیری سفارش، مدیریت بوسترها، کمیسیون و برداشت.
- نام پروژه
- Royal Boost
- نوع پروژه
- پلتفرم خدمات گیمینگ
- هسته فنی
- Laravel
مشتری، بوستر و مدیر
Royal Boost چه محصولی است؟
معرفی پروژه
Royal Boost یک پلتفرم چندنقشی است که مشتری خدمات پیشرفت حساب بازی و بوستری که سفارش را انجام میدهد، در یک مسیر مشخص کنار هم میگذارد. مشتری بازی و سرویس موردنیاز را انتخاب میکند، قیمت براساس رتبه فعلی، رتبه هدف، گزینههای سفارش و Add-onها محاسبه میشود و سفارش پس از پرداخت برای بوسترهای تأییدشده قابل مشاهده میشود.
بوستر سفارش را میپذیرد، روند انجام آن را ثبت میکند، با مشتری گفتوگو میکند و در پایان مدرک تکمیل را ارسال میکند. مدیر هم سفارش، پرداخت، مدرک تکمیل، درآمد بوستر، کمیسیون پلتفرم و درخواست برداشت را از پنل مدیریت کنترل میکند.
نقش کدنوا
این پروژه به یک سایت معرفی خدمات نیاز نداشت
مسئله پروژه
مدل کسبوکار از چند فرایند وابسته به هم تشکیل شده بود و هیچکدام را نمیشد جدا از بقیه پیاده کرد:
قیمتگذاری متنوع
بازیها و سرویسهای مختلف، هرکدام مدل قیمتگذاری خودشان را داشتند و قیمت باید متناسب با انتخاب کاربر تغییر میکرد.
سفارش گرهخورده به پرداخت
دریافت اطلاعات مشتری، پرداخت و ایجاد سفارش باید به یک جریان واحد تبدیل میشدند تا مبلغ سفارش قابل دستکاری نباشد.
انجام سفارش توسط شخص سوم
تخصیص سفارش، ثبت پیشرفت، ارتباط مشتری و بوستر و بررسی مدرک تکمیل، همگی باید داخل همان سیستم انجام میشدند.
امور مالی چندطرفه
محاسبه کمیسیون، ثبت درآمد بوستر و مدیریت درخواست برداشت، به فرایند تکمیل سفارش وابسته بودند.
چالش اصلی پروژه طراحی چند صفحه گیمینگ نبود؛ مسئله این بود که قیمتگذاری، سفارش، انجام خدمت و تسویه به یک گردش کار واحد و قابل کنترل تبدیل شوند.
خروجی مورد انتظار کارفرما
هدفهای اجرایی
- ظاهری اختصاصی و هماهنگ با فضای گیمینگ، همراه با انتخاب ساده بازی و سرویس.
- نمایش قیمت متناسب با انتخابهای کاربر و جلوگیری از دستکاری مبلغ سفارش.
- یکپارچهشدن پرداخت با ایجاد سفارش.
- پنلهای مستقل برای مشتری و بوستر، متناسب با وظایف هر نقش.
- کنترل کامل سفارشها و ثبت تاریخچه وضعیت هر سفارش از پنل مدیریت.
- محاسبه خودکار درآمد و کمیسیون و مدیریت درخواست برداشت بوستر.
- حفظ تجربه مناسب در دسکتاپ و موبایل.
تحلیل، طراحی و توسعه کامل پلتفرم
نقش کدنوا
تحلیل منطق کسبوکار
تبدیل مسیر قیمتگذاری، سفارش، انجام خدمت و تسویه به سناریوها، نقشها و وضعیتهای قابل پیادهسازی.
طراحی UI/UX و سه پنل
طراحی صفحات عمومی، نسخه موبایل و پنلهای مستقل مشتری، بوستر و مدیر.
توسعه اختصاصی
معماری دیتابیس، توسعه Front-end و Back-end، موتورهای قیمتگذاری، اتصال پرداخت، کیف پول، کمیسیون و کنترل دسترسی.
موتور قیمتگذاری چندمدلی، گردش کار سفارش میان سه نقش و محاسبه کمیسیون با یک فروشگاهساز یا افزونه آماده پیادهسازی نشده است.
از انتخاب سرویس تا تسویه در پنج گام
گردش کار اصلی
-
1
انتخاب و قیمت
انتخاب بازی، سرویس، Rank و گزینههای سفارش و محاسبه قیمت متناسب با آنها.
-
2
پرداخت و ایجاد سفارش
تکمیل Checkout و ثبت سفارش پس از تأیید پرداخت و مبلغ.
-
3
تخصیص به بوستر
نمایش سفارش در فهرست سفارشهای آزاد و پذیرش آن توسط بوستر تأییدشده.
-
4
انجام و مدرک تکمیل
ثبت پیشرفت، گفتوگوی مشتری و بوستر و بارگذاری مدرک تکمیل.
-
5
بررسی و تسویه
بررسی مدرک توسط مدیر، تکمیل سفارش و ثبت درآمد، کمیسیون و درخواست برداشت.
هر نقش مسیر و ابزار خودش را دارد
سه نقش سیستم
پنل مشتری
انتخاب بازی، سرویس، Rank فعلی و هدف، گزینهها و Add-onها؛ مشاهده قیمت نهایی، تکمیل Checkout، پیگیری سفارشها، مشاهده Timeline و Pricing Snapshot، ارتباط داخل سفارش و مشاهده نتیجه نهایی.
پنل بوستر
مشاهده سفارشهای آزاد و پذیرش سفارش مناسب، مدیریت سفارشهای فعال، ثبت پیشرفت، گفتوگو با مشتری، ارسال مدرک تکمیل، مشاهده درآمد ناخالص، کمیسیون و درآمد خالص و ثبت و پیگیری درخواست برداشت.
پنل مدیریت
مدیریت بازیها و سرویسها، تعریف Rank، Dimension و Add-on، کنترل ماتریس قیمتگذاری، تخصیص بوستر، تأیید یا رد مدرک تکمیل، تنظیم درصد کمیسیون، بررسی پرداختها و درخواستهای برداشت و مدیریت محتوای عمومی سایت.
قیمت نهایی را سرور تعیین میکند، نه مرورگر
تصمیم فنی اصلی
یکی از مهمترین بخشهای پروژه، امکان تعریف چند مدل قیمتگذاری برای سرویسهای مختلف بود. در سرویس Rank Boost قیمت براساس رتبه فعلی و رتبه هدف تعیین میشود و در سمت مشتری، انتخاب Rank، پلتفرم، منطقه، شیوه تحویل و Add-onها در Order Summary نمایش داده میشود.
مبلغ برای نمایش سریع در Front-end محاسبه میشود، اما هنگام Checkout دوباره در سرور بررسی میشود و Backend نتیجه نهایی و معتبر را تعیین میکند. نتیجه پرداخت هم صرفاً براساس بازگشت مرورگر پذیرفته نمیشود و سرور وضعیت تراکنش را مستقل بررسی میکند.
چرا این تصمیم لازم بود
مدیر برای تغییر قیمت به تغییر کد وابسته نیست
مدیریت قیمتگذاری
پنل مدیریت ماتریس انتقال رتبه دارد و مدیر میتواند مبلغ هر انتقال مجاز را مستقل تنظیم کند. در نمونه Rank-to-Rank، ماتریس فقط انتقالهای مجاز رو به بالا را نمایش میدهد و وضعیتهای Current یا Not Allowed را از قیمتهای قابل تعریف جدا میکند.
نتیجه این ساختار دو چیز است: قوانین قیمتگذاری در پنل واضح و قابل مدیریت باقی میمانند، و قیمتی که در سایت به مشتری نمایش داده میشود از همان دادهها میآید.
سفارش تنها پس از تأیید پرداخت ایجاد میشود
Checkout و پرداخت
- نمایش خلاصه سفارش شامل سرویس، Rank فعلی، Rank هدف، گزینهها، Add-onها، قیمت پایه و مبلغ نهایی پیش از پرداخت.
- بررسی وضعیت تراکنش در سرور، مستقل از بازگشت مرورگر.
- ایجاد سفارش تنها پس از تأیید پرداخت و مبلغ، تا سفارش ناقص ثبت نشود.
- پوشش شرایط Sandbox و Production در فرایند پرداخت.
یک سفارش نباید همزمان به دو بوستر برسد
تخصیص و انجام سفارش
سفارش پرداختشده در بخش Available Orders برای بوسترهای تأییدشده نمایش داده میشود. بوستر پیش از پذیرش میتواند اطلاعات مهم سفارش، مبلغ، پلتفرم، منطقه و گزینههای انتخابی را ببیند. پس از پذیرش، سفارش به بخش My Orders منتقل میشود و بوستر از صفحه جزئیات وضعیت را کنترل میکند، پیام میفرستد، پیشرفت را ثبت میکند و مدرک تکمیل بارگذاری میکند.
کنترل همزمانی
مدرک تکمیل پیش از تسویه بررسی میشود
بررسی و تکمیل
پس از ارسال مدرک تکمیل، سفارش وارد وضعیت Pending Completion Review میشود و مدیر جزئیات قیمت، Rankها، گزینههای انتخابشده، مشتری و بوستر، Timeline، تاریخچه تخصیص و فایل مدرک را در یک صفحه بررسی میکند. مدیر میتواند مدرک را تأیید کند، رد کند یا سفارش را برای ادامه کار به وضعیت قبلی برگرداند.
با تأیید مدیر، وضعیت سفارش به Completed تغییر میکند، نتیجه در پنل مشتری قابل مشاهده است و در همان لحظه درآمد بوستر ثبت و کمیسیون پلتفرم محاسبه میشود.
درآمد، کمیسیون و برداشت به تکمیل سفارش متصل شدند
کیف پول و تسویه
پس از تکمیل سفارش، مبلغ ناخالص، کمیسیون پلتفرم و درآمد خالص بوستر ثبت میشوند. بوستر از بخش Finance میتواند موجودی قابل برداشت، موجودی رزروشده، مجموع درآمد، مجموع برداشت، درآمد هر سفارش، کمیسیون و تاریخچه برداشت را ببیند. درخواست برداشت هم از پنل مدیریت بررسی میشود و وضعیت، حساب انتخابشده، تاریخ تأیید، تاریخ پرداخت و رسید خصوصی دارد.
سختترین بخش پروژه کجا بود؟
چالشهای اصلی
یکپارچگی قیمت و امور مالی
مبلغ در سرور دوباره محاسبه میشود و مبالغ با واحد کوچکتر ذخیره میشوند. عملیات حساس داخل Transaction و با Row Lock انجام میشود، اجرای چندباره با Idempotency کنترل میشود و تاریخچه مالی ثبت میماند.
مدیریت چند نقش
مشتری، بوستر و مدیر عملیات و دسترسی یکسانی ندارند؛ مسیرها و رابط هر نقش متناسب با وظایف همان نقش طراحی شد.
وابستگی به سرویس پرداخت
فرایند پرداخت باید شرایط Sandbox، Production، صفحه پرداخت و بررسی وضعیت تراکنش را پوشش میداد.
طراحی همزمان برای چند نوع کاربر
رابط عمومی باید فضای گیمینگ خود را حفظ میکرد، اما پنل بوستر و پنل مدیریت هم باید برای استفاده عملیاتی روزانه خوانا و قابل کنترل باقی میماندند.
ابزارها براساس مسئله انتخاب شدند
فناوریها
- Laravel
- PHP
- MySQL
- Blade
- Bootstrap
- JavaScript
- jQuery
- اتصال درگاه پرداخت
- Database Transactions
- UUID
- رمزنگاری
- Idempotency
پروژه در پنج مرحله اجرا شد
مراحل اجرا
-
1
مرحله اول: طراحی UI/UX
طراحی صفحات عمومی، فضای بصری گیمینگ، نسخه موبایل و مسیر انتخاب خدمت.
-
2
مرحله دوم: کاتالوگ و پنل مدیریت
مدیریت بازی و سرویس، تعریف Rank، Dimension و Add-on، قیمتگذاری، FAQ و محتوای صفحه اصلی.
-
3
مرحله سوم: داینامیککردن سایت
اتصال UI به پنل، ثبت سفارش آزمایشی، پروفایل مشتری و مدیریت محتوای داینامیک.
-
4
مرحله چهارم: پنل بوستر
سفارشهای آزاد، پذیرش سفارش، سفارشهای فعال، گفتوگو، ثبت پیشرفت و مدرک تکمیل.
-
5
مرحله پنجم: پرداخت و امور مالی
درگاه پرداخت، تأیید تراکنش، کیف پول، کمیسیون، درخواست برداشت و تست مسیرهای اصلی.
یک تفکیک لازم
قیمتگیری، سفارش، انجام خدمت و تسویه در یک پلتفرم
نتیجه قابل اثبات
- فرایند قیمتگذاری در همان سیستم سفارش قرار گرفت.
- مشتری امکان پرداخت و پیگیری سفارش را دارد.
- بوستر از همان سامانه سفارش میپذیرد و گزارش میدهد.
- مدیر سفارش، پرداخت و تسویه را از یک پنل کنترل میکند.
- محاسبه کمیسیون و درآمد به فرایند تکمیل سفارش متصل شد.
Royal Boost چه چیزی از کدنوا نشان میدهد؟
توانمندی اثباتشده
توسعه نرمافزار تحت وب
ساخت سیستمی با چند نقش، گردش کار سفارش، وضعیتهای متعدد و پنلهای عملیاتی مستقل.
منطق مالی قابل اعتماد
اتصال قیمتگذاری، پرداخت، کمیسیون و برداشت با کنترلهای سمت سرور و حفظ یکپارچگی عملیات.
قیمتگذاری قابل مدیریت
تبدیل قوانین قیمت به دادهای که مدیر بدون تغییر کد کنترل میکند و سایت از همان داده استفاده میکند.