اپلیکیشن فروشگاهی فلاتر - دارت و مدیریت استیت - Riverpod - دوره 2024
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یادگیری فلاتر به صورت گام به گام
- تسلط به زبان برنامهنویسی دارت و مفهوم OOP
- ساخت رابط کاربری به صورت گام به گام
- استفاده از Riverpod برای مدیریت استیت
- پرداخت با Stripe
- ساخت API به صورت گام به گام
- ساخت یک بکاند بصری
- آشنایی با Riverpod 1.0 و 2.0 و تمام مفاهیم جدید
- آشنایی با مفاهیم AsyncNotifier ،AsyncValue ،AsyncData و AsyncError
- بحث عمیق در مورد ارائهدهندگان مختلف Riverpod
- استفاده از معماری MVC به صورت گام به گام
- تست با Postman و یادگیری تکنیکهای اشکالزدایی
- پوشش عمیق مفهوم تولید کد در Riverpod
- نمونهای از بهینهسازی سمت سرور برای فراخوانی های API
- یادگیری ساخت دستی ارائهدهندگان Riverpod 2.0
پیش نیازهای دوره
- بهتر است دانشجوها کمی تجربه در فلاتر داشته باشند.
توضیحات دوره
این دوره آموزشی آنلاین شامل آموزش ساخت یک اپلیکیشن فروشگاهی دوره با مدیریت استیت Riverpod است. در این دوره، بر نحوه ساخت یک اپلیکیشن فلاتر برای فروش دورهها با پرداخت Stripe و Laravel به عنوان بکاند با Restful API تمرکز میکنیم.
این بکاند شامل لاگین رسانههای اجتماعی پایه با استفاده از Firebase است. اکثر APIها با استفاده از Laravel ساخته شدهاند. بکاند دارای چندین ادمین (پنل سوپر ادمین و پنل معلمان) شامل اپلیکیشن معلمان برای چت بود. ما همچنین مراحل ساخت بکاند را به صورت گام به گام دنبال خواهیم کرد.
ویژگیهای اپلیکیشن (ویژگیهای بخش ۱)
- صفحه onboard
- لاگین با ایمیل
- لاگین با رسانههای اجتماعی
- مشاهده دورهها
- پخش ویدیوهای دوره
- جستجوی دوره
- بارگذاری دوره از بکاند
- مشاهده دورههای چندین معلم
- خرید دوره روی فرانت اند
- پرداخت با Stripe
- پنل سوپر ادمین
ما از فریمورک Laravel برای ساخت بکاند و API استفاده کردهایم. بکاند دارای مجوزهای چند کاربری است. این بدان معنی است که سوپر ادمینها و ادمینهای فرعی وجود دارند. حسابهای معلمان از نوع ادمین فرعی هستند. سوپر ادمین میتواند نقشها را نظارت کند و به معلمان یا ادمینهای فرعی نقشی را تخصیص دهد.
با این دوره، یاد خواهید گرفت که چگونه توکن API خود را بسازید و چگونه دسترسی کاربران را با استفاده از بسته Sanctum Laravel تأسیس کنید.
ما از Laravel Eloquent برای کار با پایگاه دادهمان از کنترلر استفاده کردهایم.
در پایان این دوره، تسلط پیدا خواهید کرد به:
- مبانی Laravel و MVC
- پنل ادمین Laravel (CRUD)
- Laravel Sanctum
- Laravel RESTful API
بخش 2 این دوره شامل اپلیکیشن معلم و چت خواهد بود.
این دوره برای چه کسانی مناسب است؟
- برای مبتدیان تا یادگیرندگان پیشرفته
اپلیکیشن فروشگاهی فلاتر - دارت و مدیریت استیت - Riverpod - دوره 2024
-
مقدمه 13:38
-
چگونه از backend api استفاده کنیم؟ 02:37
-
ایجاد پروژه 06:11
-
درک پایه مدیریت استیت و setState 09:42
-
درک ارائهدهنده Riverpod 19:34
-
درک StateProvider و استفاده از آن 10:11
-
استفاده از مقدار StateProvider در صفحات مختلف 10:08
-
جمعبندی stateProvider 03:06
-
معرفی ویجت Stack 11:33
-
کار بر روی ویجتهای با موقعیت و بدون موقعیت 18:19
-
صفحه onboarding و ستون و استایل های متنی قابل استفاده مجدد 10:55
-
ویجت قابل استفاده مجدد جدید در ستون 14:10
-
ویجت ستون و ویجتهای قابل استفاده مجدد و رنگ 13:34
-
کار با دکمه next 06:28
-
ایجاد boxShadow قابل استفاده مجدد 13:16
-
پرش به ویو صفحه بعدی 10:57
-
درک انیمیشن کنترلکننده صفحه (pagecontroller) 05:19
-
درک const ،final و غیرقابل تغییر بودن (immutability) 09:58
-
غیرقابل تغییر بودن در فلاتر 06:13
-
تغییر نام دکمه به صورت پویا 03:34
-
کار بر روی pageview safearea و پسزمینه 04:54
-
نمایش شاخص نقطهها 07:29
-
Riverpod StateProvider برای شاخص نقطهها 07:08
-
نصب ابزارها و تولید ارائهدهندگان 13:01
-
استفاده از ارائهدهنده تازه تولید شده برای نقطهها 06:39
-
رفتن به صفحه ورود 06:57
-
درک push و pushNamed در Navigator 10:37
-
نوار اپلیکیشن با اندازه ترجیحی 12:29
-
آیکونهای اجتماعی ورود 14:01
-
فیلدهای متنی ورود و ویجتهای تصویر قابل استفاده مجدد 17:28
-
صفحه ورود و فیلدهای متنی قابل استفاده مجدد 17:19
-
صفحه ورود و کار با دکمهها 10:42
-
صفحه ورود و اتمام کار با دکمهها 13:22
-
صفحه ورود و مرز دکمه 05:21
-
موضوع و درک کلاس استاتیک 11:20
-
صفحه ثبتنام و رابط کاربری 09:40
-
اتمام رابط کاربری ثبتنام 14:22
-
فراخوانی تابع، تابع ناشناس، فراخوانی تابع بازگشتی و ویژگی onPressed 27:33
-
درک constructor و پارامتر 10:29
-
درک غیرقابل تغییر بودن 18:12
-
درک قدرت متد copyWith 16:25
-
تولید ارائهدهنده برای RegisterState 06:47
-
ایجاد تابع برای انتقال استیت های مشترک 18:54
-
دسترسی به استیت های مشترک در کنترلر 21:06
-
نمایش پیام پاپ از کنترلر 11:57
-
اعتبارسنجی دادههای ثبتنام و google auth api 19:50
-
کار بر روی نمایش آیکون بارگذاری دایرهای و اتمام آن 20:46
-
پیکربندی Firebase با CLI 12:59
-
پیکربندی دستی فایربیس اندروید 11:12
-
کشف استثنای Firebase 09:19
-
OOP Dart و StateNotifier - بخش 1 17:23
-
مفهوم OOP و StateNotifier - بخش 2 12:46
-
StateNotifier و StateNotifierProvider برای ورود 20:50
-
تخصیص عملکرد رابط کاربری ورود، شیء کنترلر و آوردن منابع 16:45
-
سعی در ورود به سیستم 20:22
-
ذخیره استیت های ورود در فیلدهای متنی 12:08
-
موفقیت ورود اندروید و iOS 13:11
-
SharedPreferences و متد init 11:11
-
درک اینکه چگونه SharedPreferences در ذخیرهسازی اشیاء کمک میکند 20:07
-
درک روشهای مختلف برای انجام ناوبری و جداسازی کد 23:42
-
درک onGenerateRoute 17:52
-
کار بر روی onGenerateRoute 25:36
-
استفاده از مسیر صحیح برای callback onGenerateRoute 22:26
-
به خاطر سپردن لاگین در ذخیرهسازی با استفاده از onGenerateRoute 07:07
-
نوار ناوبری پایینی و نمایش دکمههای پایه 26:12
-
افزودن مسیرهای بیشتر به onGenerateRoute 22:26
-
استایل BottomNavigationBarItem 10:46
-
ایندکس BottomNavigationBar 09:09
-
نمایش صفحات آزمایشی برای رابط کاربری اپلیکیشن 12:13
-
بازنویسی کد برای تصاویر 18:49
-
بازنویسی تمامی فایلهای صفحه 10:02
-
بازنویسی برای مخزن 10:40
-
بازنویسی برای شیء WidgetRef 11:29
-
عنوان و نام صفحه اصلی 11:53
-
رشته json و رشته در Dart 14:50
-
jsonDecode و کلاس ساده 11:41
-
شیء پروفایل و ارسال constructor 14:28
-
کلاس UserProfile و factory constructor 12:30
-
کار بر روی نوار جستجو بخش 1 18:40
-
حل مشکل renderflow نوار جستجو بخش 2 07:58
-
نمایش بنرها و اسلاید 26:22
-
تبدیل نقطهها به Stateful 07:14
-
نگهداشتن Riverpod برای نقطهها 06:12
-
UncontrolledProviderScope در Riverpod 03:30
-
تفاوت بین ()initState و ()didChangeDependencies 07:12
-
کد بهینهسازی شده 10:30
-
بهینهسازی بیشتر و بازنویسی مسیر تصویر 15:27
-
بهینهسازی TextWidget 05:12
-
بازسازی اپلیکیشن بار صفحه اصلی 13:13
-
boxdecoration نوار اپلیکیشن صفحه اصلی 08:46
-
متن دوره صفحه اصلی 13:16
-
دکمه دوره صفحه اصلی 14:39
-
نمایش جدول دوره 11:48
-
چگونه از URL پایه ریموت استفاده کنیم؟ 02:00
-
ویندوز 11 + xampp + Laravel 08:44
-
بکاند و نصب لاراول بخش 03:56
-
درک مبانی لاراول 17:22
-
راهاندازی بسته ادمین لاراول در ویندوز 04:54
-
بکاند و حذف خطا 04:40
-
بکاند و نصب بسته Sanctum 02:16
-
بکاند و ثبتنام و لاگین آزمایشی با Sanctum 10:53
-
بکاند ساخت login api خودمان 06:37
-
بکاند و ساخت login api خودمان 10:29
-
بکاند و تغییرات در جدول کاربران 05:50
-
بکاند و افزودن فیلدهای بیشتر به پایگاه داده 07:53
-
بکاند و کار بر روی توکن دسترسی 04:07
-
بکاند و اتمام ساخت login api ما 04:25
-
نصب dio و ایجاد کلاس Singleton 11:27
-
درک hashCode اشیاء 04:40
-
درک هدرها 06:12
-
اتمام ایجاد هدرها 05:27
-
ساخت متد post ما 14:41
-
تست متد ما از فرانت اند 14:02
-
آدرس IP شبکه و تست اندروید 03:57
-
راه اندازی Dio interceptors و catch کردن خطا 21:29
-
catch کردن خطا با میانجیگرها 09:59
-
پاسخ Dio و نمایش لاگین موفق 05:24
-
ساخت login repo 13:09
-
لاگین اندروید و iOS و فیکس کردن مشکلات 10:59
-
فیکس کردن مشکلات در Android 02:53
-
فیکس کردن مشکلات فیلد متن ورود 01:47
-
Async Notifier Provider و آیکون هدر 18:27
-
بخش بکاند و ساخت رابط کاربری 06:32
-
بکاند و کار بر روی ui grid view - بخش 2 16:56
-
بکاند و درک مهاجرت - بخش 3 06:55
-
بخشی از بکاند و انجام مهاجرتها - بخش 4 05:35
-
بکاند و جزئیات CourseTypeController و متد index - بخش 5 07:45
-
بکاند و ایجاد دسته بندی منوی قابل درگ - بخش 6 11:21
-
بکاند و درک بهتر برای grid، نمایش و جزئیات - بخش 7 14:16
-
بکاند و ایجاد مهاجرت برای دوره - بخش 8 07:17
-
بکاند و ایجاد CourseController - بخش 9 02:38
-
بکاند و بهروزرسانی متد فرم CourseController - بخش 10 08:06
-
بکاند و کار بر روی متد فرم - بخش 11 07:14
-
بکاند و اتمام متد فرم - بخش 12 09:08
-
بکاند و بارگذاری دوره و تنظیمات ویندوز و مک - بخش 13 08:36
-
بکاند و رابط خط فرمان ادمین لاراول - بخش 14 06:26
-
بکاند و ایجاد یک CourseController جدید - بخش 15 05:45
-
بکاند و اتمام کار بر روی CourseController - بخش 16 05:45
-
بکاند و نمایش تصویر در ردیف - بخش 17 03:58
-
بکاند و درک بخش API - بخش 18 05:52
-
بکاند و تغییرات در RouteServiceProvider - بخش 19 08:50
-
بکاند و اتمام کار بر روی متد courseList - بخش 20 06:55
-
بکاند و درک تفاوتهای ()select و ()get - بخش 21 03:17
-
ارائهدهنده دوره غیرهمزمان در صفحه اصلی 13:14
-
درک Future و FutureOr 03:54
-
دسترسی به ارائهدهنده async notifier در ویجت 01:48
-
نمایش دادهها از async notifier 12:35
-
نمایش تصویر در رابط کاربری 09:54
-
کلاس Singleton برای جلوگیری از فراخوانی های اضافی API 05:13
-
Riverpod و RefreshIndicator 03:49
-
نمایش متن بر روی تصویر از API 16:54
-
ارسال آرگومان و رفتن به صفحه جدید 14:39
-
ساخت API دوره بکاند و تست و کشف خطا 16:41
-
ساخت repo و ایجاد متد قابل فراخوانی کنترلر دوره 14:40
-
درک تزریق وابستگی با مودیفایر family 06:20
-
ارسال شناسه دوره به عنوان وابستگی با مودیفایر family 15:03
-
ویژگی قابل فراخوانی Dart با پیادهسازی Riverpod 14:39
-
نمایش تصویر پایه از API شبکه 09:36
-
نمایش صحیح تصاویر 09:32
-
نمایش آیکون در بخش نویسنده 09:51
-
ریفکتور کردن appImage به کلاس AppImage 05:00
-
آیکون و عدد قابل استفاده مجدد 09:36
-
بارگذاری توضیحات از بکاند 13:19
-
دکمه خرید و includes 15:23
-
نمایش اطلاعات دوره 25:24
-
hashCode Dart و null و رشته null 10:53
-
نمایش اطلاعات درس 24:49
-
مهاجرت درس و مدل و کنترلر 14:42
-
فرم درس، ویژگیهای ویدیو و فرمت json 20:52
-
بارگذاری داده، تست اندپوینت در Postman 17:14
-
بهروزرسانی مدل درس 14:05
-
کنترلر درس فرانت اند، انتیتی ها و رابط کاربری 31:10
-
نمایش thumbnail درس، نام و توضیحات 12:11
-
ساخت API جزئیات درس 04:00
-
ساخت mvc bloc و ارسال شناسه درس 11:58
-
ساخت کلاس lessonVideo 05:54
-
نمایش thumbnail ویدیو 11:25
-
بازسازی صفحه جزئیات درس 08:54
-
Ngrok و مشاهده URL ویدیو 07:28
-
ایجاد کنترلر ویدیو 16:35
-
نمایش ویدیو در رابط کاربری 11:50
-
نمایش thumbnail ویدیو 06:19
-
پخش ویدیو با موفقیت 16:32
-
پخش و متوقف کردن ویدیو 14:43
-
پخش ویدیوهای بیشتر از لیست 24:11
-
حل بررسی null استفاده شده بر روی مقدار null در thumbnail 09:06
-
متدهای ()copyWith و ()update در Riverpod 04:14
-
متد ()state در Riverpod 06:53
-
پخش ویدیوهای قبلی و بعدی 24:23
-
پخش تمامی ویدیوها با callback 07:37
-
یادگیری بهینهسازی بارگذاری تصویر 09:03
-
نمایش نوار اپلیکیشن 03:50
-
پیشنمایش منطق پرداخت 12:02
-
ایجاد کنترلر پرداخت و نصب Stripe 07:16
-
بررسی API - بخش 1 10:58
-
بررسی API - بخش 2 14:50
-
بررسی API - بخش 3 10:48
-
بررسی API - بخش 4 12:12
-
بررسی API - بخش 5 05:54
-
بررسی API - بخش 6 05:22
-
بررسی API - بخش 7 18:03
-
بررسی API - بخش 8 26:38
-
بررسی API - بخش 9 08:47
-
بررسی API - بخش 10 08:06
-
بررسی API - بخش 11 04:38
-
ساختار پوشه و دریافت شناسه دوره 09:36
-
ساخت کنترلر خرید 05:13
-
ساخت مخزن خرید 05:34
-
ساخت رابط کاربری پرداخت 09:46
-
نمایش رابط کاربری و انجام پرداخت 05:36
-
بازگشت به اپلیکیشن از webview 03:13
-
مدیریت خطا در بکاند 05:52
-
فلاتر مدیریت خطا یا null را انجام میدهد 03:31
-
ایجاد ProfileController 06:27
-
اطلاعات بیشتر در مورد ارائهدهندگان Riverpod 03:59
-
ایجاد کلاس پروفایل و طراحی نوار اپلیکیشن 05:07
-
نمایش آیکون پروفایل و طراحی آن 07:16
-
ایجاد کلاس ProfileImageWidget 02:16
-
ارائهدهنده کاربر برای نمایش تصویر 09:20
-
ارائهدهنده کاربر برای نمایش نام و توضیحات 11:49
-
صفحه پروفایل اطلاعات دوره با استفاده از ویجتهای قابل استفاده مجدد 19:08
-
آیتمهای لیست پروفایل 12:30
-
متن و تصویر لیست پروفایل 07:28
-
صفحه تنظیم لیست پروفایل 06:58
-
نمایش دکمه logout 09:01
-
حذف اطلاعات ذخیرهسازی و logout 10:00
-
صفحه پروفایل دورههای خریداری شده و نوار اپلیکیشن 08:13
-
کنترلر و مخزن دورههای خریداری شده پروفایل 07:31
-
AsyncData و AsyncError Riverpod در پروفایل 08:21
-
توضیح AsyncData و AsyncValue در Riverpod 09:10
-
درک ارائهدهنده تولید شده 05:54
-
ایجاد و تست API برای دورههای خریداری شده 09:25
-
بارگذاری پاسخ شبکه در ارائهدهنده 06:52
-
نمایش دادهها در رابط کاربری 19:05
-
ناوبری و ریفکتور کد 06:07
-
ایجاد ماژول جستجو نوار اپلیکیشن 09:31
-
ایجاد ارائهدهندگان و repos 07:03
-
متد bool.fromEnvironment در Riverpod 03:01
-
منشأ متد ()build در Riverpod 03:10
-
ارائهدهندگان دستی Riverpod و حذف فایل تولید شده 07:12
-
ایجاد AsyncValue به صورت دستی در Riverpod 10:49
-
نمایش AsyncValue در صفحه با Riverpod 13:09
-
ریفکتور کد با استفاده از ویجت سراسری و ListView 12:27
-
ساخت API جستجوی کاربر برای دورههای پیشنهاد شده 09:05
-
ساخت API جستجوی کاربر با استفاده از کلمه کلیدی 10:33
-
ایجاد یک متد استیت جدید در Riverpod 09:30
-
نمایش نتیجه جستجو 11:11
-
AsyncData و ریفکتور کد 12:09
-
بهینهسازی فراخوانی های سمت سرور با استفاده از شرایط 10:13
-
بهینهسازی سمت سرور با استفاده از Singletonها 06:19
-
بهروزرسانی دادهها با RefreshIndicator 05:07
-
درک صفحه نویسنده 06:11
-
ایجاد صفحه نویسنده و ارسال توکن 11:33
-
نمایش تصویر پسزمینه 07:46
-
اطلاعات نویسنده و ریفکتور کد 12:34
-
تمام کردن دکمه برو به چت 14:05
-
ایجاد ارائهدهنده برای بارگذاری دادههای نویسنده 10:04
-
ارسال توکن نویسنده 16:36
-
ساخت API لیست دورههای نویسنده 04:55
-
ساخت API نویسنده 08:11
-
ایجاد ارائهدهنده نویسنده 10:56
-
نمایش دادههای نویسنده از ارائهدهنده 23:41
-
نمایش دورههای نویسنده 12:29
-
بکاند ایجاد نقش معلم 07:50
-
جدول دورهها و درسها برای معلمان 25:30
-
جداسازی فرم بکاند برای معلمان 10:36
-
اتمام ویرایش فرم 28:34
-
ویرایش ویژگیهای مدل 08:38
-
افزودن کد بیشتر برای نامها و مشاهده دادهها در TablePlus 05:36
-
بارگذاری فایلها و آزمایش 03:06
-
بازنشانی رمز عبور ادمین لاراول 01:50
-
در اینجا ویدیو جمعبندی شده است 02:41
مشخصات آموزش
اپلیکیشن فروشگاهی فلاتر - دارت و مدیریت استیت - Riverpod - دوره 2024
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:مقدماتی
- تعداد درس:272
- مدت زمان :49:17:34
- حجم :29.9GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy