توضیحات

بعد از دوره آموزش رایگان laravel (لاراول) پروژه محور که مورد استقبال شما دوستان عزیز قرار گرفت.حالا وقت آن رسیده که در قالب یک پروژه کاربردی، بهتر laravel (لاراول) را یادبگیرید تا بتوانید پروژه های مد نظر خودتون را پیاده سازی کنید.
ما توی این دوره یک فروشگاه اینترنتی با با موضوع سفارش آنلاین غذا (رستوران و فست فود) با لاراول ورژن 11 ایجاد میکنیم که شامل بخش های مختلف هست. اما هدف از این پروژه، یادگیری بخش های مختلفی هست که توی وبسایت ها استفاده میشه نه، صرفا فقط ایجاد یک وبسایت فروشگاهی.به عنوان مثال سیستم احراز هویت که در این دوره یاد میگیریم را شما میتونید توی پروژه های مختلف دیگه استفاده کنید.پس پروژه فروشگاهی یک مثال هست تا شما بخش های مختلف را یادبگیرید وبا آن پروژه های مدنظر خودتون را ایجاد کنید.در این دوره پنل ادمین و همچنین deploy یا آپلود پروژه در سرور هم توضیح داده میشود.

دوستان لاراول ورژن 12 که آخرین ورژن در حال حاضر هست، ارائه شده و طبق داکیومنت هیچ تغییر خاصی نداشته و مطالب بروز هستند و هیچ گونه مشکلی در استفاده از دوره و موارد آموزشی نیست.

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

مواردی که در این پروژه یاد میگیریم:

  • توضیح بخش های قالب اصلی یا فروشگاه اینترنتی
  • توضیح بخش های قالب پنل ادمین (admin panel)
  • داینامیک کردن بخش های اسلایدر و ویژگی ها در سایت فروشگاه
  • بخش و صفحات درباره ما و تماس با ما
  • داینامیک کردن بخش فوتر
  • یجاد، نمایش و ویرایش دسته بندی ها
  • ایجاد، نمایش و ویرایش محصول شامل : تصاویر، تاریخ شروع و پایان حراجی، قیمت حراجی و ...
  • بخش منو محصولات در سایت فروشگاه
  • لیست علاقه مندیها از محصولات برای کاربران
  • افزودن و استفاده از نقشه (map)
  • ایجاد صفحه ای تک (single) محصول
  • ایجاد صفحه ای منو menu (فیلتر محصولات)
  • احراز هویت (authentication) به روش OTP (ارسال SMS کد ورود برای کاربر)
  • مجوز دسترسی (authorization)
  • ایجاد بخش پروفایل کاربر شامل اطلاعات، آدرس ها، سفارشات، تراکنش ها و لیست علاقه مندی های کاربر
  • پیاده سازی سبد خرید به همراه کد تخفیف
  • استفاده از تقویم شمسی یا جلالی در پروژه
  • ایجاد و استفاده از کد تخفیف
  • نحوه استفاده از درگاه پرداخت
  • پروژه پنل ادمین
  • افزودن و استفاده از نمودار (chart)
  • قرار دادن پروژه در سرور(deploy)
  • و ....

دوره های پیشنهادی، بعد از گذراندن این دوره :

پیش نیاز این دوره:


طراحی وب طراحی سایت laravel لاراول فروشگاه_اینترنتی مای اس کیو ال php ورژن 8 پی اچ پی ورژن 8 لاراول ورژن 11 laravel v11 سفارش آنلاین غذا فروشگاه اینترنتی سفارش غذا laravel v12 لاراول ورژن 12 سایت غذا سفارش غذا طراحی سایت غذا

مدرس دوره علی شیخ
مدت دوره 20:55:46
تعداد ویدیو 106

وضعیت دوره : کامل شده
قیمت دوره : 999,000 599,000 تومان
% 40 تخفیف

کامنت های ارزشمند شما:

برای ارسال کامنت ابتدا باید وارد سایت شوید

  • سلام بر استاد شیخ.
    دوستان اگه میخواید برای بخش توضیحات در فرم ایجاد محصول، به جای یک textarea ساده، یک ویرایشگر با امکانات بیشتر داشته باشین این کار رو انجام بدین :

    با فرض اینکه نام فیلد توضیحات در دیتابیس description هست :

    ابتدا در بخش اسکریپت cdn ویرایشگر رو قرار بدین :

    
    
    <script src="https://cdn.ckeditor.com/ckeditor5/41.4.2/classic/ckeditor.js"></script>
    <script>
    ClassicEditor.create(document.querySelector('#description'))
    .catch(error => console.error(error));
    </script>


    سپس teaxtarea :
    
    
    <textarea id="description" name="description"></textarea>


    برای تغییر ارتفاع ویرایشگر هم استایل زیر رو در فایل css پروژه تون قرار بدین :

    
    
    .ck-editor__editable_inline {
    height: 250px;
    }

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

    • خواهش استاد.

      برای راست چین کردن ویرایشگر، به جای اسکریپت بالا اینو قرار بدین :

      
      
      <script src="https://cdn.ckeditor.com/ckeditor5/41.4.2/classic/ckeditor.js"></script>
      <script>
      ClassicEditor
      .create(document.querySelector('#description'), {
      language: 'fa',
      })
      .catch(error => {
      console.error(error);
      });
      </script>

    • و نکته ی آخر دوستان :

      اگه از این ویرایشگر استفاده کردین، در صفحه ی نمایش محصول، توضیحات همراه با تگ های html نمایش داده میشه. برای حل این مشکل به جای اینگونه نوشتن :

      
      
      <p>{{ $product->description }}</p>

      اینگونه بنویسید :
      
      
      <div>{!! $product->description !!}</div>

  • سلام و وقت بخیر
    استاد با توجه به قطعی نت جهانی و مشکلات ایجاد پروژه لاراولی با این وضعیت، پیشنهاد شما چیه؟
    یکی میگفت با میرور ایرانی حل میشه، من سرچ زدم نفهمیدم چطوریه
    میشه یه توضيحی بدید چون فکر کنم مشکل خیلی ها باشه
    ممنون

    • سلام وقت بخیر.
      اینو میدونید که میتونید سورس کد هر جلسه رو که پروژه هست را دانلود کنید و دستور composer install را بزنید تا پکیج ها نصب بشه و استفاده کنید توی دوره هم اشاره شده
      حالا شما فرضا سورس کد جلسه دوم که یک پروژه لاراولی ایجاد میکنیم رو دانلود کنید و خب وارد پروژه بشید اما قبل از اینکه دستور composer install بزنید از mirror ها میتونید استفاده کنید که کافیه در ابتدا دستور

      composer config repo.packagist composer https://mirror-composer.runflare.com

      رو بزنید و بعدش دستور composer install

  • سلام استاد. دوره ی بسیار با کیفیتی ضبط کردین. قیمت چنین دوره ای جاهای دیگه بسیار بالاتره. اونم احتمالا نه با چنین تدریس خوبی. استاد یه سوال : میشه برای جدول محصولات دو جدول رو به عنوان کلید خارجی در نظر گرفت؟ برای مثال در یک فروشگاه کتاب، دسته بندی محصولات رو داریم که شامل دسته های ادبیات، فلسفه، روانشناسی، عرفان و... هست. قطعا جدول محصولات رو باید به این جدول متصل کنیم و id هر دسته بندی رو توی فیلدی به نام category_id قرار بدیم. اما حالا اگه بخوایم جدول محصولات رو به جدول دیگری مثلا جدول "نویسندگان" هم متصل کنیم ممکنه؟ میخوام علاوه بر دسته بندی کتاب ها، وقتی کاربر روی نام نویسنده، برای مثال : چخوف، داستایفسکی، مصطفی مستور یا... کلیک میکنه به صفحه ی کتاب های نویسنده ی مورد نظر هدایت شه.

    • سلام وقت بخیر.
      ممنون از شما و حمایتتون
      بله، محدودیتی در تعریف تعداد کلید خارجی در یک جدول نیست

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

    • سلام وقت بخیر.
      توی داکیومنت تیلویند بخش install برای نحوه نصب توی پروژه لاراولی گفته شده که کافیه مراحل را انجام بدید و توی فایل های blade از کد های تیلویند استفاده کنید.

  • سلام استاد عزیز خسته نباشید
    استاد توی پروژه ام به یه مشکل خوردم
    از سمت بلید عکس ارسال میکنم ولی از کنترلر استیرینگ تحویل میگیرم و ارور
    Call to a member function getClientOriginalName() on string
    رو هم میگیرم

      public function update(Request $request){
    
    dd(is_string($request->img));
    $request->validate([
    'title' => 'required|string',
    'btn' => 'required|string',
    'img' => 'nullable'
    ]);
    $header = header::first();
    $header->update([
    'title' => $request->title,
    'btn' => $request->btn,
    'img' => $request->img != null ? Carbon::now()->microsecondOfMillisecond() . '-' . $request->img->getClientOriginalName() : $header->img
    ]);
    $name = $request->img != null ? Carbon::now()->microsecondOfMillisecond() . '-' . $request->img->getClientOriginalName() : '';
    $image = $request->img != null ? $request->img : '';
    if($image != ''){
    $image->storeAs('headers',$name);
    }
    return redirect()->route('header.index')->with('succsess','ok');
    }

    blade:
    @extends('layouts.master')
    
    @section('body')
    <form action="{{ route('header.update') }}" method="POST">
    @method('PUT')
    @csrf
    <div class="container mt-4 d-flex gap-3">
    <input name="title" value="{{ $header->title }}" type="text" class="form-control rounded-input w-1/3"
    placeholder="تایتل">
    <input name="btn" value="{{ $header->btn }}" type="text" class="form-control rounded-input w-1/3"
    placeholder="دکمه">
    <input name="img" enctype="multipart/form-data" type="file" class="form-control rounded-input w-1/3">

    </div>
    <button class="btn btn-outline-dark mt-3">
    ویرایش
    </button>
    </form>
    @error('title')
    <p style="color: red">{{ $message }}</p>
    @enderror

    @error('btn')
    <p style="color: red">{{ $message }}</p>
    @enderror

    @error('img')
    <p style="color: red">{{ $message }}</p>
    @enderror
    @endsection

    مشکل چیه از نظرتون ؟
    لطفا راهنمایی کنید

    • سلام وقت بخیر.
      نیازه که img در requset رو لاگ و بررسی کنید که تصویر باشه ارور شما میگه این متد getClientOriginalName را روی یک رشته دارید صدا میزنید باید این مقادیر را بررسی و لاگ بگیرید همچنین با ویدیو ایجاد محصول که تصویر محصول دریافت و ذخیره میشه بررسی و مقایسه کنید

    • سلام وقت بخیر.
      توی همون دوتا فصل ابتدای دوره هست. حتما ویدیو ها دوره را به ترتیب و پشت سرهم مشاهده کنید.

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

    • سلام وقت بخیر.
      متوجه منظورتون نشدم. دستگاه بارکد خوان که هست یا اگه مثلا با گوشی منظورتون هست که دوربین گوشی میتونه بارکد بخونه و اگه لینک سایتی باشه داخل بارکد نشون بده و با کلیک روش وارد اون سایت بشه، بازم اگه منظورتون چیز دیگه ای هست کاملتر توضیح بدید روندش چیه اگه آشنا باشم خدمتون میگم. عذرخواهی

    • والا خودمم تا حالا توی کافه ای از شهرمون ندیدم، فقط راجبش شنیدم و دیدم بعضیا دنبال چنین پروژه ای برای کافه شون بودن. از جی پی تی پرسیدم کامل تر توضیح داد. جوابشو این پایین میزارم.

      خواهش میکنم


      منظور از «قابلیت اسکن بارکد» در وبسایت‌ کافه‌ها و رستوران‌ها معمولاً همین چیزیه که دیده‌ای: روی میز یک QR Code چاپ شده و مشتری فقط با اسکن اون، به صفحه‌ای خاص هدایت میشه. اما دقیقاً چی رو اسکن می‌کنن و چه اتفاقی میفته؟ اینجا کامل توضیح میدم:

      قابلیت اسکن بارکد یعنی چی؟
      رستوران یا کافه یک QR Code (نه بارکد سنتی) تولید می‌کنه و اون رو روی میز، منو، کارت یا کنار صندوق قرار میده. مشتری با دوربین موبایل یا اپ‌های اسکنر، این QR رو می‌خونه و به یک آدرس اینترنتی (URL) هدایت میشه.

      پس QR Code فقط یک لینک اینترنتی رو در قالب تصویر ذخیره کرده.

      دقیقاً QR چه چیزی را اسکن می‌کند؟
      QR Code خودش شامل داده است، معمولاً به یکی از شکل‌های زیر:

      لینک منوی دیجیتالمثلا:
      text
      https://restaurant.com/menu/table12
      لینک اختصاصی میز (برای ثبت سفارش بدون نیاز به گارسون)
      text
      https://restaurant.com/order?table=5
      لینک پرداخت آنلاین
      text
      https://restaurant.com/pay?bill=984230
      لینک دانلود اپلیکیشن رستوران
      لینک ارتباط در واتساپ/اینستاگرام
      یعنی چیزی که اسکن می‌کنی، در اصل یک لینک است که درون تصویر QR کد شده.

      فرآیند از دید مشتری چطور است؟
      گوشی را روی QR می‌گیرد.
      گوشی لینک داخل QR را نمایش می‌دهد.
      کاربر می‌زند “Open in browser”.
      وارد یکی از صفحات زیر می‌شود:
      منوی دیجیتال
      فرم سفارش
      صفحه پرداخت
      صفحه اطلاعات تماس
      صفحه تخفیف یا کد مهمان
      از دید رستوران چطور ساخته می‌شود؟
      رستوران‌ها یکی از روش‌های زیر را انجام می‌دهند:

      استفاده از سایت‌سازهایی مثل: Wmenu، QRMenu، OrderLand
      استفاده از سیستم POS یا نرم‌افزار حسابداری رستورانی که QR تولید می‌کند
      ساخت QR اختصاصی با لینک سایت رستوران
      این سیستم‌ها برای هر میز معمولاً یک QR جدا تولید می‌کنند (برای پیگیری سفارش‌ها).

      مثال ساده
      فرض کن میز شماره 7 یک QR دارد. وقتی اسکن می‌کنی:

      text
      restaurantname.com/table/7/menu
      سایت می‌فهمد مشتری “میز 7” است و منو را برای او نمایش می‌دهد.

      اگر سفارش بدهد، سفارش زیر اسم همان میز ثبت می‌شود.

      جمع‌بندی
      وقتی می‌گویند “قابلیت اسکن بارکد”، منظور این است که:

      رستوران برای هر میز یا کل رستوران یک QR کد تولید می‌کند.
      QR شامل یک لینک است (معمولاً منو یا سفارش‌گیری).
      مشتری با موبایل اسکن می‌کند و بدون دانلود اپ، سریع به آن صفحه منتقل می‌شود.

    • بله، همون روندی هست که خدمتتون گفتم‌ اسکن بارکد یا qr code صرفا چیزی که داخلش هست را نشون میده حالا لینک سایت هست یا چیز دیگری که عموما لینک سایت هست.

    • سلام وقت بخیر.
      متوجه سوالتون نشدم و منظورتون از حرفه چیه؟
      بصورت کلی این دوره یکی از دوره های هست برای دوستانی که قصد دارند با لاراول آشنا بشند و توی بخش چارت آموزشی در سایت هم قرار گرفته

  • سلام استاد شیخ مرسی از دوره خوبتون جدی واقعا طرفدارتون عالی هستین
    استاد راستش قصد دارم بعد از این دوره
    دوره های :
    1.تیلویند
    2.ویو
    3.الپاین
    4.ای پی ای نویسی بالاراول
    رو شروع کنم و میخوام تا اخر این ماه تموم کنم
    ایا پیشنهادی دارین ک با وجود یرعت بالا درک خوب رو هم نگهداشت ؟
    و در اخر هم درخواست دوره ساخت فریم ورک شخصی با php رو دارم که خیلی ها میسازن
    بازم مرسی از دوره

    • سلام وقت بخیر مهدی عزیز
      والا بصورت کلی شما پیش نیاز این دوره ها رو درک کرده باشید خیلی براتون سخت نیست و واقعیت این موضوع هست که میتونه برای هر شخصی متفاوت باشه
      در خصوص فریم ورک شخصی، این کار اشتباه هست ما که دوباره نمیایم چرخ رو اختراع کنیم؟ وقتی فریمورک لاراول با این همه قابلیت و مخصوصا امنیت هست که نمیایم فریمورک php بنویسیم که پر از باگ و حتی مشکلات امنیتی باشه، شما نیازی به این ندارید اصلا

  • سلام
    واقعا گیج شدم نمیدونم بعد این دوره دقیقا چی رو ببینم
    الپیان / ویو / لایووایر
    یا الپاین و ویو با هم هر کی یه چیزی میگه

    • سلام وقت بخیر.
      تفاوتی نداره بصورت کلی، الان توی دنیایی لاراول هستید میتونید لایووایر و بحث api نویسی با لاراول رو شروع کنید بعد بیاید سمت فرانت

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

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

  • وقتی استاد میگه پروژه ساده هست پروژه : 💀
    استاد این دوره رو خریدم حالا هنوز دوره رایگان تموم نشده ولی خب دروغ چرا سر بلک فرایدی خریدم این رو داریم برم ببینم یه دوره دیگه هم بگیرم واسه فرانت یا حالا چیزای دیگه که هم از شما حمایتی کرده باشیم و علم خودمون رو بالا تر ببریم
    مرسی از توضیحات خوبتون

  • دوره لاراول آقای شیخ یکی از بهترین آموزش‌هایی بود که دیدم. توضیحات ساده، پروژه‌محور و دقیق پیشنهاد می‌کنم به همه کسایی که می‌خوان لاراول رو اصولی یاد بگیرن
    تدریس عالی، مثال‌های کاربردی و بیان روان باعث شد مفاهیم لاراول رو خیلی بهتر درک کنم. واقعا ممنون از شما 🙏

    • سلام وقت بخیر معین جان
      ممنون از شما و حمایتتون🙏
      خداروشکر دوره براتون کاربردی بوده

  • سلام وقت بخیر
    فرانت این پروژه به همراه پنل ادمین رو قبلن با دوره next انجام دادین و من اون دوره رو دیدم
    سوالم اینه که الان برای این پروژه یا هر پروژه ی دیگه ای، میشه بک اند رو با لاراول و فرانت رو با next ترکیب کنیم؟

    • سلام وقت بخیر.
      بله، ببینید فرانت و بک اند دوتا موضوع جدا از هم هستند شما در سمت فرانت میتونید از next.js یا هر فریمورک فرانتی دیگه ای استفاده کنید و از اون طرف هم در سمت بک اند از زبان ها و فریمورک های بک اندی مثله لاراول برای ایجاد api که فرانت بتونه استفاده کنه
      دوره های لاراول و همچنین نحوه و آموزش api نویسی با لاراول در سایت هست.

  • با سلام و احترام خدمت آقای شیخ
    ممنونم از دوره‌‌ های عالیتون از جمله این دوره
    درمورد بخش ایجاد محصول، یه مساله ای درمورد تاریخ ها هست
    شما پیش از اینکه تبدیل تاریخ شمسی به میلادی انجام بدید، دارید validation میکنید

     'date_on_sale_from' => 'nullable|date_format:Y/m/d H:i:s',
    
    'date_on_sale_to' => 'nullable|date_format:Y/m/d H:i:s'

    این کار یه مشکلی داره. تاریخ هایی مثل ۳۱ شهریور به ارور میخورند چون ماه ششم میلادی ۳۱ روز نداره. در واقع این validation فقط فرمت رو چک نمیکنه، بلکه وجود داشتن اون تاریخ در تقویم میلادی هم چک میکنه.
    برای حل این مشکل، من تبدیل تاریخ رو قبل از validation انجام دادم و کدش رو داخل try-catch گذاشتم که اگر فرمت اشتباهی برای تاریخ داده شده، ارور بده
    درمورد پکیج Verta هم فرمت تاریخ رو باید بنویسید
    'Y-m-d H:i:s' به جای 'Y-n-j H:i:s'
    که اگر عدد روز و ماه یک رقمی شد، zero padding رو انجام بده
    ممنونم از توجهتون

    • سلام وقت بخیر.
      بله، توی توضیحات و ویدیو معرفی دوره در خصوص ورژن لاراول صحبت شده
      همچنین دوره رایگان لاراول هم کامل بازتولید شده

      https://webprog.io/course/آموزش-رایگان-laravel-لاراول-پروژه-محور

    • سلام وقت بخیر.
      خیر مشکلی نداره درخصوص نحوه فعال سازیش در پنل قاصدک گفته شده و از اون طرف هم پکیج لاراولی که خوده قاصد گذاشته استفاده شده
      اما به این معنی نیست که اصلا داکیومنت و توضیحات خوده قاصدک مطالعه نشه

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

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

  • سلام استاد با تشکر از دوره های خوبی که قرار میدین
    اگه امکانش باشه یه آموزش هم برای starter kit بذارید خیلی عالی میشه
    مثلا یه مینی پروژه با استفاده از starter kit بزنید تا کیفیشو ببریم
    (:

  • سلام و وقب بخیر
    جناب شیخ سوال داشتم من زمانی که یک مدل رو با دستور artisan میسازم ویژگی HasFactory به صورت خودکار قرار نمیگیره و باید دستی انجام بدم مشکلش چی می تونه باشه؟

    • سلام وقت بخیر.
      این مشکل نیست و شما اگه نیاز باشه اضافه میکنید بصورت دستی
      بازم میتونید یک پروژه جدید با لاراول ایجاد و تست کنید.

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