رفتن به مطلب
انجمن پشتیبانی لاراول ایران

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

negar_a

تحلیل پایگاه داده فروشگاه اینترنتی

Recommended Posts

با سلام .

برای تحلیل فروشگاه اینترنتی ، جستجو های زیادی انجام دادم . میدونم انواع جداول و تحلیل ها وجود داره ، ولی چون احتمال اشکال در کدهای لاراول هم پیش بیاد تاپیک زدم .

برای تمرین لاراول یک فروشگاه اینترنتی با یک نوع محصول ( مثلا اسباب بازی با دسته های مختلف مثل ماشین , عروسک و ... ) میخوام ایجاد کنم .

برای قسمت product , category  مشکلی ندارم و ساختم .

انالیز جداول ثبت سفارش رو میخوام بر اساس تصویر زیر انجام بدم .( چون تقریبا به مدل کار من نزدیکه )  

فقط فیلدهایی که برای order و order_detail گذاشته خوب متوجه نمیشم .

یک : چرا در order باید دوباره email , phone و ... از کاربر تکرار بشه . 

دو : در order_detail فیلد quantity چی هست ؟ 

سه : کد رهگیری ، قیمت کل ، ویژگی های فاکتور و .... باید در کدوم جدول ذخیره بشه ؟ order_detail  ؟ 

 

 

KFKKq.jpg

Share this post


Link to post
Share on other sites

هاست لاراول با پشتیبانی 24 ساعته و امکانات کامل از مدیرهاست

یک : چرا در order باید دوباره email , phone و ... از کاربر تکرار بشه . 

جواب: چون کاربر ممکنه برای ارسال سفارش آدرس و تلفن دیگه ای مد نظرش باشه و بخاد به اون آدرس ارسال بشه یا تماس بگیرید

دو : در order_detail فیلد quantity چی هست ؟ 

جواب: تعداد سفارش

سه : کد رهگیری ، قیمت کل ، ویژگی های فاکتور و .... باید در کدوم جدول ذخیره بشه ؟ order_detail  ؟ 

جواب: در جدول order ثبت کنید چون تمام جزئیات فاکتور اونجا ثبت شده 

Share this post


Link to post
Share on other sites

بسیار ممنونم از شما . 

روند سبد خرید رو تاحدودی با استفاده از سشن میدونم ( که بصورت موقت نگه میداریم و به کاربر نشون میدیم ) اما چندتا سوال در مورد روال کلی کار دارم

یک  رکوردی که در جدول order و order_detail ذخیره میشه ، میبایست بعد از پرداخت نهایی باشه ؟ 

دو : کدوم حالت بهتره ؟ ثبت نام قبل خرید ؟ ثبت نام بعد خرید ؟ 

سوم : در آموزشهاتون دیدم که کد فعال سازی به ایمیل میفرستید ( احتمالا جهت تشخیص ایمیل و ثبت نام حقیقی ) . میشه به جای این ,  در پروژه هایی نظیر فروشگاه , یک کد رهگیری به موبایل کاربر ارسال بشه چون ممکنه کاربران معمولی ایمیل نداشته باشند و فکر میکنم دومی کاربر پسند تره .   و مسایلی مثل فاکتور خرید و ... در پروفایل خود کاربر قابل مشاهده باشه . نظرتون رو بفرمایید.

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

------------------------------------------------------------------------------

پ . ن : فروشگاهی که دارم میسازم تقریبا در حد همون جداولی هست که در پست اول فرستادم و زیاد حجیم نیست . 

ممنون میشم اگر نکته ی خاصی غیر از این موارد هست بگید که رعایت کنم در پروژه . 

-------------------------------------------------------------------------------

کاش یک ویدیوی آموزشی ایجاد فروشگاه اینترنتی با هزینه آماده کنید . چون خیلی مسایل رو شامل میشه و لاراول رو بهتر یاد میگیریم . 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

و یک سوال دیگه :

در اکثر تحلیل ها دیدم که یک جدول جدا بنام attribute برای product میزارن . که بعنوان مثال سایز ، رنگ و ... رو در برمیگیره .

من با نحوه ی جداسازی جداول آشنا هستم و تاحدودی آگاهی دارم اما برای این موارد اشکالی پیش میاد اگر مواردی مثل رنگ و سایز رو در فرم محصولات ، بصورت یک سلکت باکس قرار بدیم و بصورت آرایه ای در فیلدی در جدول product ذخیره کنیم ؟

چون مقدارهای رنگ و سایز در پروژه ی من  ثابت هستند و نیاز به مدیریت و تغییر توسط مدیر ندارند که بخوام جداگانه جدول طراحی کنم . 

رنگ : سبز ، بنفش ، قرمز ، آبی 

سایز :  کوچک ؛ متوسط ، بزرگ

Share this post


Link to post
Share on other sites

یک: رکورد باید قبل از پرداخت ثبت بشه .ضمنا دو فیلد دیگه نیاز هست یکی برای تعیین وضعیت پرداخت و یکی برای ثبت رسید پرداخت

دو: ثبت نام قبل از خرید بهتره چون همون اطلاعاتی که برای خرید به عنوان میهمان از کاربر میگیرید تقریبا 90 درصد اطلاعات یک ثبت نام کامل هست

سه: خود من برای پروژه هام از موبایل استفاده میکنم و خیلی مناسب تر از ایمیل هست.اما بعد از ثبت نام گزینه ی ایمیل رو هم به صورت اختیاری در پنل پروفایل کاربر قرار میدم که اگه مایل بود پروفایلشو کامل کنه

چهار: میهمان تنها فیلد رمز عبور رو نمیده که بهتره همون ابتدا خرید به صورت میهمان رو از پروژه حذف کنید و از همون روند ثبت نام با موبایل که خیلی ساده تر هست استفاده کنید

جدول attribute هم بستگی به خودتون داره که تو پروژه قرار بدید یا خیر و اینکه مشتری چقدر برای طراحی این پروژه پول داده . لینک زیر برای پروژه فروشگاهی مفیده نکات خوبی رو ارائه کرده و مثالهایی رو برای بخشهای مختلف مثل سبد خرید ، پرداخت ، attribute و ... ارائه کرده

https://www.larashout.com/tag/laravel-ecommerce-application

 

 

Share this post


Link to post
Share on other sites

با سلام مجدد . 

در مورد سبد خرید  : اطلاعات محصولات در ابتدا در سشن ذخیره میشن . چه زمانی باید در دیتابیس ثبت بشن ؟ زمان پرداخت نهایی ؟

 و اینکه در بعضی سایتها کاربر که از سایت خارج میشه و دوباره برمیگرده سبد خریدش همچنان موجوده و در بعضی سایتهای دیگه میبینیم پاک شده . کدوم بهتره ؟ اینهم از سشن  به مدت طولانی استفاده کرده ؟ 

Share this post


Link to post
Share on other sites

زمانی که به درگاه میخواید متصل بشید باید اطلاعات موجود در سبد رو در یه جدول مثلا orders ذخیره کنید و بعد از پرداخت نهایی سفارش خودتون رو وریفای کنید و سبد رو خالی کنید

در مورد این هم که بعد از خروج کاربر از سایت اطلاعات رو در سبدش نگه دارید یا نه بستگی به منطق کار شما داره و همینطور موجودی محصولات چون به هر حال اگر موجودی از محصول محدود هست

اضافه به سبد و خریدها رو هم باید کنترل کنید که مشکل برخورد نکنید.

 برای نگه داشتن طولانی هم همون اول اطلاعات سبد رو توی دیتابیس ذخیره میکنه و در صورتی که خرید انجام بشه سبد رو خالی میکنه در غیراینصورت توی مراجعه بعدی هم توی سبد نمایش میده

Share this post


Link to post
Share on other sites
در در ۱۳۹۹/۴/۲۳ در 10:41، saber گفته است :

زمانی که به درگاه میخواید متصل بشید باید اطلاعات موجود در سبد رو در یه جدول مثلا orders ذخیره کنید و بعد از پرداخت نهایی سفارش خودتون رو وریفای کنید و سبد رو خالی کنید

 

با سلام . ایا باید قبل از پرداخت ، اطلاعات در order ذخیره بشه .؟ من ابتدا در session نگه داشتم و بعد از پرداخت در order ذخیره میکنم.

 

اینطوری  میتونم روی تعداد موجودی های محصولم  درست تر عمل کنم . 

مشکل این روش من چیه ؟ .

 

 

Share this post


Link to post
Share on other sites
در در ۱۳۹۹/۱/۱۳ در 10:01، negar_a گفته است :

 

 

 

KFKKq.jpg

 و طبق این تصویر من به جای order_detail نوشتم order_product .

ایا روابط بین order و product چند به چند است ؟ 

یعنی یک رکورد از order میتواند متعلق به چند product باشد ؟ و یک product متعلق به چند order? 

 بین اینها pivot table ایجاد میشه ؟ 

 

Share this post


Link to post
Share on other sites
در در ۱۳۹۹/۵/۲۴ در 09:45، negar_a گفته است :

با سلام . ایا باید قبل از پرداخت ، اطلاعات در order ذخیره بشه .؟ من ابتدا در session نگه داشتم و بعد از پرداخت در order ذخیره میکنم.

 

اینطوری  میتونم روی تعداد موجودی های محصولم  درست تر عمل کنم . 

مشکل این روش من چیه ؟ .

 

 

order رو بهترهست قبل از پرداخت توی دیتابیس ذخیره کنید و برای کنترل موجودی هم میتونید یه تایمی رو برای پرداخت هر order در نظر بگیرید مثلا اگه تا ده دقیقه سفارش رو کاربر پرداخت نکرد موجودی رو آزاد کنید که کاربر دیگه ای اگر خواست بتونه سفارش بده و پرداختش رو تکمیل کنه.

Share this post


Link to post
Share on other sites
در 5 ساعت قبل، saber گفته است :

order رو بهترهست قبل از پرداخت توی دیتابیس ذخیره کنید و برای کنترل موجودی هم میتونید یه تایمی رو برای پرداخت هر order در نظر بگیرید مثلا اگه تا ده دقیقه سفارش رو کاربر پرداخت نکرد موجودی رو آزاد کنید که کاربر دیگه ای اگر خواست بتونه سفارش بده و پرداختش رو تکمیل کنه.

یعنی اگر تا یک تایمی پرداخت نکرد ، مثلا ده دقیقه ، اون رکورد ذخیره شده در order رو هم حذف کنم ؟ یا فقط روی موجودی ش کار کنم 

Share this post


Link to post
Share on other sites
در 47 دقیقه قبل، negar_a گفته است :

یعنی اگر تا یک تایمی پرداخت نکرد ، مثلا ده دقیقه ، اون رکورد ذخیره شده در order رو هم حذف کنم ؟ یا فقط روی موجودی ش کار کنم 

رکورد رو حذف نکنید فقط موجودی رو کنترل کنید.

Share this post


Link to post
Share on other sites

وارد این گفتگو شوید

میتوانید پیام خود را ارسال کنید و بعد ثبت نام نمایید. در صورتی که حساب کاربری دارید, هم اکنون وارد شوید و در این گفتگو شرکت کنید.

مهمان
پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  Only 75 emoji are allowed.

×   لینک شما به صورت اتوماتیک جایگذاری شد.   نمایش به عنوان یک لینک به جای

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • جدید...