سلام دوستان ، من یک پروژه لاراول دارم و الان میخوام یک برنامه چت حرفه ای بنویسم که در کناره سایر پروژه های لاراولی یا غیر لاراولی استفاده کنم .
در واقع قرار نیست که داخل همین پروژه لاراول پیاده سازی بشه اما برای مورادی مثل احراز هویت کاربرا نیاز دارم که از دیتابیس موجود پروژه لاراول که MySQL هستش استفاده کنم . قبلا در کنار لاراول با node js و socket io چت نوشتم و متصل کردم به دیتابیس لاراول اما الان مشورت و تجربه شما میتونه توی انتخابم مهمه باشه .
من چندتا گزینه دارم برای پیاده سازی که از نظر دانش پیاده سازی مشکلی ندارم فقط دنبال بهترین روش و بهترین کیفیت هستم
UI پروژه و امکانات شبیه تلگرام هستش البته منظورم این نیست که قراره یه چیزی مثل تلگرام بزنم صرفا از نظر UI و گروه و کانال و ....
فرانت رو که تصمیم دارم به صورت PWA با VUE یا Angular بزنم و فکر نکنم نیاز به SSR باشه اما اگر توی چت اپ SSR بودن تاثیری داره حتما اشتراک بذارید .
قابلیت voice call و video call هم با webRTC هندل میکنم
اما برای بک اند و دیتابیس با توجه به اینکه میخوام از نظر پرفورمنس و تعداد کاربر و پیام به خوبی جواب بده . چندتا گزینه وجود داره که نیاز به مشورت دارم
برای دیتابیس MYSQL , MONGO هستش که فکر میکنم mongo انتخاب بهتری باشه اما در نهایت برای احراز هویت باید از به mysql متصل بشم چون جدول کاربرا در حال حاضر روی mysql هستش
با همین توضیحات چندتا مقاله خارجی خوندم در مورد پیاده سازی کل دیتابیس چت با redis که باز در کنارش برای من mysql نیازه اما آیا امکان پیاده سازی همه روابط و امکانات با redis به تنهایی وجود داره چون دیتاها داخلش به صورت key-value ذخیره میشه و میترسم اگر با redis پیاده سازی کنم در آینده برای روابط و کوئری زدن به مشکل بخورم .
در مورد بک اند هم بین node js و socket io و laravel broadcasting با pusher با استفاده از سوکت سرور اختصاصی larvel-websockets روی سرور خودم نیاز به مشورت دارم .
من از شما جواب دقیق نمیخوام و بیشتر دنبال اشتراک گذاری تجربه و نظراتتون هستم برای بهترین انتخاب
سلام دوست عزیز ببینید میتونید از چندتا بک اند همزمان استفاده کنید مثلا اطلاعات یوزر توی mysql ذخیره بشه و لود بشه اما چت ها و گروه ها توی mongodb ذخیره بشه خوب اگه سرعت برات مهمه خوب socket.io سریع تر و روون تر و ساده تر از pusher هست کلا node js برای برنامه های real time خیلی مناسب تر از php هست ولی میتونی هم از php و هم از node js برای بک اندت استفاده کنی اگه هر دو رو بلد باشی
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟