Darslar Rejasi

Darslarni ko'rish uchun yuqoridagi 'START' tugmasiga bosing!

  • 8

    2-Modul | Foydalanuvchilar Ro'yxati

    • 2-Modulga kirish

    • Foydalanuvchilar ro'yxatini chizmasi

    • Yangi Vidjetlar (SafeArea, Expanded, ListView, Card, ListTile va boshqalar)

    • Constructor orqali ma'lumotlarni qabul qilish

    • Foydalanuvchilar ro'yxatini List va Map orqali ko'rsatish

    • Foydalanuvchini uchirish funktsiyasi va boshqa turdagi funktsiyalar

    • UI ustida ishlash (qo'shimcha dizaynlar)

    • Yangi font o'rnatish

    • Uyga vazifa va 3-modulga tayyorgarlik ko'rish

  • 9

    3-Modul | Xatolarni tuzatish va ish faoliyatini yaxshilash

    • 3-Modulga kirish

    • Problems va Debug Console bo'limlari

    • Debugger qurilmasini ishlatish

    • Flutter Dasturchilari qurollari (Flutter DevTools)

    • Dasturimizni ishlash faoliyatini oshirish

    • Foydali manbalar va havolalar

  • 10

    4-Modul | Rejalar Dasturi

    • 4-Modulga kirish

    • Algoritmlar bilan ishlash (1-qism) | stdin.readLineSync

    • Algoritmlar bilan ishlash (2-qism) | Juft yoki toq raqam?

    • Algoritmlar bilan ishlash (3-qism) | Foydalanuvchi kiritgan raqamga qarab ro'yxatdan ma'lumot olish

    • Algoritmlar bilan ishlash (4-qism) | for loops

    • Algoritmlar bilan ishlash (5-qism) | for ichida for

    • Algoritmlar bilan ishlash (6-qism) | for loops matnlar bilan (polindrom - uyga vazifa)

    • Algoritmlar bilan ishlash (7-qism) | Palindrom

    • RichText, TextSpan | Rejalar Dasturi 1-qism

    • Google fonts paketini o'rnatish |Rejalar Dasturi 2-qism

    • Bug (xato) to'g'irlash va rejalar ma'lumotini ko'rsatish

    • Rejalar ro'yxatini ko'rsatish

    • Ro'yxat joylashuvini to'g'irlash

    • Kalendarni ko'rsatish

    • Belgilangan sanani olish

    • Belgilangan sanani to'g'ri formatda ko'rsatish

    • Begilangan sanani oldinga va orqaga o'tkazish

    • Reja modelini yaratish

    • "Private" o'zgaruvchi va rejalar ro'yxati

    • "Icon" va reja matni uchun dizayn berish

    • Rejalarni o'chirish

    • Rejalar ma'lumotini ko'rsatish

    • Modal oyna ochish

    • Reja qo'shish uchun kerakli UI'ni yaratish

    • TextField klaviatura turlari

    • Kunni tanlash uchun kalendar

    • Rejani qo'shish funktsiyasi

    • Yangi reja qo'shish

    • Bekor qilish tugmasidan to'g'ri foydalanish

    • Modal oynani moslashuvchan qilish

    • Sana buyicha rejalarni ko'rsatish

    • Bo'sh ro'yxatni to'g'ri ko'rsatish

    • 5-Modul uchun uyga vazifa

  • 11

    5-Modul | Shaxsiy Hamyon

    • 5-Modulga kirish

    • Turli xil o'lchamlarga va platformlarga moslashuvchanlik

    • 5-modulimiz uchun yaratadigan dasturimiz

    • Loyihani ishga tushirish va kerakli dizayn berish

    • Dasturning yuqori qismini yaratish

    • Yuqori qismiga dizayn berish

    • Oyni tanlash paketi (month_picker_dialog)

    • Tanlangan oyni ko'rsatish

    • Tanlangan sanani formatini o'zgartirish

    • Oldingi va keyingi oylarga o'tish funktsiyalarini yaratish

    • "Stack" vidjeti va ustma ust tushadigan "Container"lar

    • Byudjet elementlarini yaratish

    • Progress Bar elementini yaratish

    • LinearGradient va RadialGradient

    • Xarajatlar ro'yxati ko'rinishini yaratish

    • Xarajatlar modelini va ro'yxatini yaratish

    • Yangi xarajat qo'shish uchun modal oyna yaratish

    • Belgilangan kunni ko'rsatish

    • Yangi xarajatni qo'shish

    • Xarajatlarni oy bo'yicha saralash

    • Umumiy xarajatni hisoblash va ko'rsatish

    • Byudjet limitini umumiy xarajatga bo'lgan nisbatini foizda ko'rsatish

    • Byudjet limitini miqdorini o'zgartirish

    • Byudjet limitini oldingi qiymati bilan ko'rsatish

    • Xarajatlar mavjud emasligini tekshirish va kerakli xabar qoldirish

    • ListView va ListView.builder farqlari

    • ListView ma'lumotlarini o'chirish

    • Xarajatni o'chirish

    • Uyga vazifa (Flutter icon picker)

    • Uyga vazifa javobi (Flutter icon picker-dan foydalanish)

    • Uyga vazifa javobi (Icon-ni xarajatlarga qo'shish)

    • Dasturimizni portrait holatda cheklab quyish

    • Switch widget-ini o'rnatish va moslashuvchan qilish

    • Qurilma o'lchamlari va LayoutBuilder

    • Qurilma o'lchamiga to'liq moslashuvchan qilish

    • Moslashuvchanlik buyicha test

    • Operatsion Tizimlarga moslashuvchanlik

    • Moslashuvchan TextField

    • Moslashuvchan Button va Takrorlash

    • Operatsion Tizimlar buyicha moslashuvchanlik testi

    • 5-Modul uchun uyga vazifa

  • 12

    6-Modul | Sahna orti va murakkab elementlar

    • 6-modulga kirish

    • Flutterda build qanday va qachon ishlaydi

    • Optimizatsiya qilish

    • Vidjetlar, Elementlar va build()

    • Yaxshi kod yozish

    • Widgetlar Hayoti

    • Dastur Hayoti va mixin

    • "context" nima?

    • Uyga vazifa

  • 13

    7-Modul | Ovqatlar Menyusi

    • 7-Modulga Kirish

    • Kategoriyalar oynasi

    • Kategoriyalar modeli

    • Navigator va yangi sahifaga o'tish

    • Sahifalar aro ma'lumot almashish 1-usul

    • pushNamed va routes

    • Scaffold va Navigator

    • Routes haqida ko'proq

    • Kategoriya ovqatlar oynasi

    • Ovqatlar modeli va dinamik ovqatlar ro'yxati

    • Meal Details sahifasi

    • Image Carousel yaratish

    • OnGenerateRoute va onUnknownRoute

    • Routes haqida Savol Javob

    • Kategoriyalar va Sevimli sahifalari (TabBar)

    • Kategoriyalar va Sevimli sahifalari (BottomNavigationBar) 1-qism

    • Kategoriyalar va Sevimli sahifalari (BottomNavigationBar) 2-qism

    • Like funksiyasi bilan ishlash

    • Sevimli ovqatlardagi muammoni hal qilish

    • ScaffoldMessenger orqali xabar ko'rsatish

    • Yon oyna yaratish

    • Yon oyna menu-larga kerakli linklarni o'rnatish

    • Tab va Push

    • Yangi sahifalarni pushReplacement orqali almashtirish

    • Mahsulotlar sahifasida barcha mahsulotlarni ko'rsatish

    • DropdownButton orqali kategoriyalar ro'yxatini ko'rsatish

    • Yangi ovqat yaratish uchun kerakli inputlar

    • Input qiymatlarini olish va kiritilgan rasm uchun "preview" yaratish

    • Yangi ovqatni ro'yxatga qo'shish

    • Yangi ovqatni mahsulotlar ro'yxatida ko'rsatish (muammoni hal qilish)

    • Push va PushReplacement

    • Mahsulotlarni o'chirish

    • 7-modul uchun uyga vazifa

    • Foydali Havolalar

  • 14

    8-Modul | Onlayn Magazin (1-qism)

    • 8-modulga kirish

    • Mahsulot modelini yaratish

    • Mahsulotlar ro'yxatini ko'rsatish

    • Dasturga dizayn berish va alohida faylga olish

    • State Management nima uchun kerak?

    • State va State Mangement haqida batafsil

    • "Provider" State Management turi

    • Provider paketini o'rnatish va foydalanish

    • "Extends" va "with" Mixin orqali nasl (yoki nusxa) olish

    • Turli joylarda ma'lumot o'zgarishini tinglash usullari

    • State va State Management

    • Provider orqali mahsulotni sevimli funktsiyasini amalga oshirish

    • ChangeNotifierProvider va ChangeNotifierProvider.value

    • "Provider.of" o'rniga "Consumer"dan foydalanish

    • Sevimli mahsulotlarni filter qilish va ma'lumot turlariga qarab setState ishlatish

    • State Management Haqida Ko'proq

    • Savatchaga mahsulot qo'shish

    • Bir nechta Provider-lar bilan ishlash

    • Cart Provider-ga o'lanish

    • Savatcha sahifasini yaratish va umumiy miqdorni ko'rsatish

    • Savatchadagi mahsulotlar ro'yxatini yaratish

    • Savatchadagi mahsulotlarni kamaytirish va ko'paytirish tugmachalari

    • Savatchadan mahsulotni o'chirish

    • Savatchadan mahsulotni o'chirishda foydalanuvchini ogohlantirish

    • Mahsulot haqida batafsil sahifasini yaratish

    • Buyurtmalar class/obyektini tayyorlash

    • Mahsulotlarni buyurtma qilish

    • Buyurtmalar sahifasini yaratish

    • Buyurtmalar mahsulotini batafsil ko'rsatish

    • 8-modul 1-qism uchun uyga vazifa

    • Foydali Havolalar

  • 15

    8-Modul | Onlayn Magazin (2-qism)

    • 8-modul 2-qismga kirish

    • Snackbar va Bekor Qilish tugmasi

    • MaterialBanner bilan ishlash

    • Mahsulotlarni boshqarish sahifasini yaratish

    • Mahsulot Qo'shish sahifasi va oldingi muammo

    • Form va TextFormField vidjetlaridan foydalanish

    • TextFormField-ni focus (e'tibor)-ini boshqarish

    • Multiple Input turidagi TextFormField va Focus-ni xotiradan o'chirish

    • Rasm URL uchun maxsus container

    • AlertDialog vidjeti bilan ishlash

    • Form ma'lumotlarini saqlash

    • Keyboard-ni va Focus-ni inactive (nofaol) qilish

    • Rasm URL-ni olish va uni ko'rsatish

    • Ma'lumotlarni tekshirish va kerakli xatoni foydaluvchiga ko'rsatish

    • Yangi mahsulotni qo'shish

    • Muammoni hal qilish

    • Mahsulotni tahrirlash vaqti keldi!

    • Mahsulotni o'chirishga imkon berish

    • 8-modul 2-qism uchun uyga vazifa

    • Foydali Havolalar

  • 16

    9-Modul | HTTP va Firebase

    • 9-modulga kirish

    • Qurilma xotirasi yoki Web Server

    • Flutter Dasturimizni Ma’lumotlar Bazasiga Ulash

    • Backend (Firebase)-ni tayyorlash

    • HTTP So'rovlarini yuborish

    • POST So'rovini yuborishga tayyorlash

    • Dart tilida 'Future' kelajak bilan ishlash

    • Dart tilida 'Future' haqida batafsil ma'lumot

    • Http So'rovlar & Future

    • Loading Spinner (Yuklash ko'rsatkichi) ko'rsatish

    • Xatolarni ehtiyotkorlik bilan hal qilish

    • "async" va "await" bilan ishlash

    • Ma'lumotlarni olish, initState & "of(context)"

    • Ma'lumotlarni foydalanuvchiga ko'rsatish

    • Refresh funktsiyasini amalga oshirish

    • PATCH so'rovlari orqali ma'lumotlarni yangilash

    • Ma'lumotni DELETE so'rovi orqali o'chirish

    • Ma'lumotni aqlli o'chirish va maxsus Exception "Istisno" yaratish va xatolarni qayta ishlash

    • Sizlar uchun Challenge!

    • "Sevimli" holatini aqlli tarzda yangilash

    • Buyurtmalarni Veb Serverda saqlash

    • Buyurtmalarni serverdan olish

    • "FutureBuilder" vidjetidan foydalanish va kodlarimizni yanada yaxshilash

    • 10-modul uchun uyga vazifa

    • Foydali Havolalar

  • 17

    10-Modul | Foydalanuvchi Autentifikatsiyasi

    • 10-modulga kirish

    • Autentifikatsiya Qanday Ishlaydi?

    • Backend qismini tayyorlash

    • Autentifikatsiya UI qismini tayyorlash

    • Foydalanuvchini ro'yxatdan o'tkazish

    • Foydalanuvchini tizimga kiritish

    • Xatoliklarni bartaraf etish

    • Foydalanuvchi tokenini boshqarish va asosiy sahifaga kirish

    • "ProxyProvider" dan foydalanish va tokenni HTTP so'rovlariga biriktirish

    • Tokenni barcha so'rovlarga qo'shish

    • "Sevimli" holatini foydalanuvchilarga ulash

    • Mahsulotlarni foydalanuvchilarga biriktirish va Yaratuvchi tomonidan filtrlash

    • Foydalanuvchilarga buyurtmalarni biriktirish

    • Chiqish funksiyasini qo'shish

    • Foydalanuvchilarni avtomatik ravishda tizimdan chiqarish (biroz vaqtdan keyin)

    • Foydalanuvchilarning avtomatik kirishi

    • 11-modul uchun uyga vazifa

    • Foydali Havolalar

  • 18

    11-Modul | Bloc va Cubit State Management (1-qism)

    • 11-Modulga kirish

    • State Management va nima uchun Bloc

    • Bloc o'zi nima va Cubit bilan Bloc farqi

    • Bloc, MVC va MVVM arxitekturalari

    • Stream, StreamBuilder va FutureBuilder

    • Cubit orqali Counter dasturini yaratish

    • BlocBuilder, BlocListener va BlocConsumer

    • O'zimiz istagan state(holat)larni yaratish va ular bilan ishlash

    • Bloc orqali Counter dasturini yaratish va Cubit bilan solishtirish

    • Loyihani dastur uchun yangilab olish va rejalar modelini yaratish

    • Rejalar ro'yxatini va TodoCubit-ini yaratish

    • Cubit orqali yangi reja qo'shish

    • Cubit orqali mavjud rejalarni tahrirlash va yangi Bloc strukturasiga moslashish

    • Cubit orqali rejalarni bajarildi va bajarilmadi qilish

    • Cubit orqali rejalarni o'chirish

    • Kodlarni ixchamlashtirish

    • Searchbar yaratish va rejalarni izlash

    • Bir Cubit'dan ikkinchi Cubit'ga aloqa o'rnatish

    • Rejalarni filter qilish va StreamSubscription bilan ishlash

    • Cubit-ni Bloc-ga o'zgartirish

  • 19

    11-Modul | Bloc va Cubit State Management (2-qism)

    • Bloc State Mangement 2-qism

    • Loyihani yaratish va papkalar tuzilmasi

    • API bilan tanishib chiqish va ob-xavo modelini yaratish

    • API orqali ob-xavo ma'lumotini olish va API Serivice papkasi bilan ishlash

    • Repository bilan ishlash

    • WeatherCubit yaratish va Repository bilan aloqa o'rnatish

    • Ob-xavo interfeysi va yordamchi extension yaratish

    • Shaharni izlash va kerakli ob-xavoni ko'rsatish

    • Ob-xavo sozlamalar qismi

    • 12-Modul uchun uyga vazifa

    • Foydali Havolalar

  • 20

    12-Modul | GetX #1 Flutter yordamchisi

    • 12-modulga kirish

    • GetX - Route Management haqida

    • GetX - Dependency Management haqida

    • GetX - State Management haqida

    • GetX - Bindings haqida

    • GetX - Utils (qo'shimcha imkoniyatlar) va uyga vazifa

  • 21

    13-Modul | Flutterda Animatsiyalar

    • 13-Modulga kirish

    • Noldan animatsiyalar (to'liq qo'lda boshqariladi)

    • AnimatedBuilder vidjetidan foydalanish

    • AnimatedContainer bilan ishlash

    • FadeTransition va AnimatedDefaultTextStyle

    • Rasmlar bilan animatsiya

    • Hero animatsiyasi

    • Slivers vidjetlari bilan ishlash

    • Sahifalar aro animatsiyalar bilan ishlash

    • Butun sahifalar uchun bir xil animatsiya

    • 13-modul uchun uyga vazifa

    • Foydali Havolalar

  • 22

    13-Modul 2-Qism | Qurilmas Xususiyatlari (Sayohat dasturi)

    • 13-modul 2-qismga kirish

    • Sayohat joylar modelini yaratish

    • Sayohat joylari uchun provider yaratish

    • Sayohat joyini qo'shish sahifasi

    • Form inputlarni yaratish

    • Kameradan foydalanish

    • Rasmni ko'rsatish

    • Rasmni qurilma xotirasiga saqlash

    • Kodimizni yaxshiroq qilish

    • Yangi sayohat joyini qo'shish

    • Kichik muammoni bartaraf etish

    • Dasturni real qurilmada test qilib ko'rish

    • SQLite ma'lumotlar bazasi bilan yaratish

    • SQLite ma'lumotlar bazasiga ma'lumot kiritish

    • Bazadan ma'lumotlarni olish

    • Ma'lumotlarni ro'yxatda ko'rsatish

    • Manzil tanlash uchun kerakli UI yaratish

    • Hozirgi manzilni olish

    • Fayl saqlashdagi kichik tushunmovchilik

    • Google Maps-dan ro'yxatdan o'tish va manzil rasmini olish

    • Google Maps orqali manzilni tanlash

    • Manzilni marker orqali belgilash

    • Belgilangan manzilni olish

    • Manzil rasmini olish va manzilni to'g'ri formatga o'girish

    • Yangi sayohat joyini mazil bilan saqlash

    • Manzilni qurilma xotirasiga saqlash

    • Manzilni olishdagi kichik muammoni hal qilish

    • Sayohat joy ma'lumotlari sahifasi

    • 14-modul uchun uyga vazifa

    • Foydali Havolalar

  • 23

    14-Modul | Firebase SDK va Chat Dasturi

    • 14-Modulga kirish

    • Firebase sozlamalarini to'g'irlash

    • Kerakli fayllarni yaratib olish

    • Kerakli paketlarni o'rnatish, "bug"-larni to'g'irlash va mo'jizaga guvoh bo'lish

    • Ma'lumotlarni ListView vidjetida ko'rsatish

    • Firestore-ga yangi ma'lumotlarni qo'shish

    • Firebase DEFAULT App xatoligini to'g'irlash va Authentication sahifasini yaratish

    • Validatsiya qilish va ma'lumotlarni o'zgaruvchiga saqlash

    • Foydalanuvchilarni ro'yxatdan o'tkazish

    • Kichik muammolarni xal qilish

    • IOSda kichik "bug"-ni xal qilish va foydalanuvchi ma'lumotlarini saqlash

    • Tizimga kirish va tizimdan chiqish funksiyalarini amalga oshirish

    • Firebase xavfsizlik qoidalari

    • Xabarlarni ko'rsatish va yuborish

    • Xabar yuborish funksiyasini yaxshilash

    • Xabarlarni chiroyli ko'rinishga olib kelish

    • Xabarlarni foydalanuvchiga mos ko'rsatish

    • Turli xil qurilmalarda sinab ko'rish

    • Xabar egasi nomini ko'rsatish

    • Foydalanuvchi uchun rasm yuklash funksiyasi

    • Rasm yuklanganini tekshirish va kerakli xabarni ko'rsatish

    • FirebaseStorage-ga fayl yo'klash

    • Yo'klangan fayl yo'lini saqlash va rasm hajmi va sifatini o'zgartirish

    • Android va real qurilmalarda ishlatib ko'rish va "bug"lar bilan ishlash

    • Foydalanuvchining rasmini xabarlarda ko'rsatish

    • Notifications (Xabarnomalar) qanday ishlaydi

    • Firebase Cloud Messaging paketini o'rnatish

    • Xabarnomani Android qurilma uchun sinab ko'rish

    • Belgilangan vaqtda va dastur faol bo'lmagan holatda xabarnoma yuborish va qabul qilish

    • iOS uchun notification sozlamalarini to'g'irlash

    • Xabarnoma yuborish uchun qurilmadan ruxsat so'rash

    • IOS qurilmada xabarnomani test qilib ko'rish

    • FirebaseMessaging.onMessage metodi bilan tanishish

    • FirebaseMessaging.onMessageOpenedApp metodi bilan tanishish

    • FirebaseMessaging funksiyalarini Android qurilmada sinab ko'rish

    • Xabarnomani avtomatik tarizda yuborish

    • Kichik o'zgarishlar va 14-modul xulosasi

    • Foydali Havolalar

  • 24

    15-Modul | Native qurilma kodlaridan foydalanish

    • 15-modulga kirish

    • Loyihani yaratish va ishni boshlash

    • Android kodni Flutterda ishlatish

    • iOS kodni Flutterda sinab ko'rish

    • 15-modul uchun xulosa

  • 25

    16-Modul | Dasturlarni App Store va Play Store-ga chiqarish

    • 16-modulga kirish

    • Android qurilmasida test qilish va takomillashtirish

    • IOS qurilmasida test qilish va takomillashtirish

    • Dastur sozlamalarini to'g'irlash

    • Info.plist muhim qismi

    • Uchinchi tomon xizmatlarini tayyorlash

    • Dastur uchun icon va kirish sahifasini tayyorlash

    • Real qurilmada sinab ko'rish

    • Android qurilmada Splash Screen uchun orqa fon rangini sozlash

    • Android uchun App bundle faylini yaratish

    • Dasturimizni Play Store-ga joylashtirish

    • Dasturimizni App Store-ga joylashtirish

  • 26

    Bonus | Socket IO orqali Chat dasturini yaratish

    • Chat dasturimizni UI qismini yaratish

    • Socket Client va Server'larni o'rnatib olish

    • Chat dasturimiz uchun kichik Login sahifasini yaratish

    • Chat dasturimizni rivojlantirish

  • 27

    Bonus | Bloc va Local Notification (Xabarnoma)

    • Umumiy to'liq dars (jonli efirdan)

  • 28

    Bonus | Serverpod & Flutter

    • Flutter'da o'zimizning maxsus serverimizni yaratish

  • 29

    Bonus | Riverpod State Management

    • Riverpod Statement Management haqida