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

  • چندین فروشنده همزمان توی اپ فعال هستن.
  • مدیریت سفارش باید هم برای کاربر راحت باشه هم برای فروشنده.
  • سیستم پرداخت باید بتونه پول رو بین فروشنده‌ها تقسیم کنه (مثل اسپیلت پیمنت).
  • بخش وفاداری (loyalty system) و کیف پول داخلی هم داریم.

سوال‌های من:
1. توی معماری بک‌اند، به نظرتون بهتره از همون اول سمت Microservices بریم یا برای MVP اولی، معماری Monolith رو پیاده کنیم و بعداً تغییر بدیم؟ تجربه شما تو این تغییر معماری چی بوده؟
2. در بحث دیتابیس، برای هندل کردن تراکنش‌های مالی حساس، شما MySQL/ Postgres پیشنهاد می‌کنید یا رفتن سمت NoSQL (مثلاً MongoDB) هم می‌تونه جواب بده؟
3. تجربه شما در اتصال درگاه پرداخت به سیستم تقسیم سود بین فروشنده‌ها چی بوده؟ آیا بهتره یه لایه جدا واسه این قضیه پیاده کنیم یا توی همون درگاه تعریف بشه؟
4. بحث امنیت: ما نمی‌خوایم فقط SSL و رمزنگاری ساده باشه. شما چه ابزارها یا رویکردهایی رو پیشنهاد می‌کنید برای جلوگیری از حملاتی مثل SQL Injection یا حملات DDoS، مخصوصاً توی اپ‌های پرترافیک؟
یه بخش دیگه که خیلی چالش‌برانگیزه طراحی فروشگاه اینترنتی حرفه ای داخل اپ هست. یعنی علاوه بر UI/UX جذاب، بحث Performance و سرعت بارگذاری خیلی مهمه. مثلاً وقتی یه فروشگاه ۲۰۰۰ تا محصول داره، کاربر نباید برای لود دسته‌بندی‌ها علاف بشه. به نظرتون راهکارهایی مثل Lazy Loading و استفاده از GraphQL چقدر می‌تونن تو این سناریو مؤثر باشن؟
یه سوال دیگه هم اینه که شما تجربه استفاده از CDN داخلی مثل ابر آروان برای چنین اپلیکیشن‌هایی رو داشتید؟ واقعاً توی لود سریع‌تر دیتا توی ایران تفاوت ایجاد می‌کنه یا بیشتر دردسر پیکربندی داره؟
برای تبلیغات و رشد هم برنامه داریم ولی اینجا یه چالش دیگه داریم:
چطوری می‌شه همزمان روی جذب فروشنده و جذب خریدار کار کرد؟ چون مارکت‌پلیس بدون فروشنده جذاب نیست، بدون خریدار هم فروشنده‌ها نمیان. شما تجربه موفقی توی بالانس این دو بخش داشتید؟
پس بخوام سوالام جمع‌بندی کنم:

  • معماری: Microservices یا Monolith برای شروع؟
  • دیتابیس: SQL یا NoSQL برای تراکنش‌های مالی؟
  • پرداخت: بهترین راهکار برای تقسیم پول بین فروشنده‌ها؟
  • امنیت: راهکارهای عملی برای مقابله با حملات رایج؟
  • Performance: مدیریت لود محصولات زیاد و سرعت اپ؟
  • مارکتینگ: جذب همزمان فروشنده و خریدار؟