🇦🇪 Flutter Advanced – Clean Architecture With MVVM in Arabic

🇦🇪 Flutter Advanced - Clean Architecture With MVVM in Arabic

Flutter Advanced – Clean Architecture With MVVM in Arabic

دورة فلاتر المتقدمة لتجعلك جاهز لسوق العمل

Language: arabic

Note: 4.7/5 (369 notes) 9,296 students

Instructor(s): Mina Farid

Last update: 2022-03-23

What you’ll learn

  • الكورس العربي الاقوي من حيث المحتوي والافكار..سوف تتعلم طرق جديده للتطبيق من خلال فلاتر ودارت
  • Clean Architecture Design Pattern
  • MVVM – Model – View – View Model Pattern
  • ViewModel Inputs and Outputs
  • Base ViewModel and Base UseCase
  • Application Layer – Dependency Injection, Routes Manager and Application class
  • Application Layer – Extensions and Shared Functions
  • Data Layer – Data Sources (Remote Data Source/ Local Data Source)
  • Data Layer – API Service Client (Same as Retorfit in Android)
  • Data Layer – Calling APIs (Remote Data Source)
  • Data Layer – Adding Logger Interceptor
  • Data Layer – Caching APIs responses (Local Data Source)
  • Data Layer – Json Serialization and Annotations
  • Data Layer – Repository Implementation
  • Data Layer – Mapper (Converting responses into Models)
  • Data Layer – Mapper (Using toDomain Concept)
  • Data Layer – Applying Null Safety
  • Data Layer – Creating Mock APIs (Stub APIs)
  • Domain Layer – Models
  • Domain Layer – Repository Interfaces
  • Domain Layer – UseCases
  • Domain Layer – Either Concepts (Left – Failure) / (Right – Success)
  • Domain Layer – Data Classes
  • Presentation Layer – UI (Splash – Onboarding – Login – Register – Forgot Password – Main – Details – Settings – Notification – Search))
  • Presentation Layer – State Renderer (Full Screen States – Popup States)
  • Presentation Layer – State Management (Stream Controller – RX Dart – Stream Builder)
  • Presentation Layer – Localisations (English – Arabic), (RTL – LTR)
  • Presentation Layer – Assets Manager (Android and Ios Icons and Images sizes)
  • Presentation Layer – (Fonts – Styles – Themes – Strings – Values – Colors) Managers
  • Presentation Layer – Using Json Animations
  • Presentation Layer – Using SVG images
  • Using 18 Flutter Packages
  • Getting Device Info (Android – Ios)
  • Using Abstract classes

 

Requirements

  • الدورة تشرح مفاهيم متقدمة لذا يجب ان يكون المبرمج علي معرفه مسبقة فلاتر ولغة دارت
  • ان يتم تثبيت محرر اندوريد استوديو او فيجوال استوديو وربطه ب فلاتر SDK

 

Description

لقد قمت بتقديم هذه الدوره لحاجه الوسط العربي لمحتوي جيد باللغه العربيه حتي يستفيد الكل وايضا من طريقه الشرح السهله والمبسطه.

يُعرَّف فلاتر على أنه مجموعة أدوات جوجل واجهة مستخدم لبناء تطبيقات جميلة ومجمَّعة محليًا لسطح المكتب للجوال والويب من قاعدة برمجية واحدة . هذا ، بالتأكيد أوفر لك من ناحيه الوقت والموارد.

ستساعدك هذه الدورة على الانتقال من مطور مبتدئ إلى مطور متمرس. سيكون لديك معرفة “كيفية تنفيذ مشروع منظم؟”. سيكون الكود الخاص بك سهل القراءة ، ويمكن صيانته واستدامته.

وسننفذ مشروع حقيقي حتى تبدأ في كتابه الكود من البداية كي نحصل علي مشروع منظم و نظيف. ستقوم ببناء طبقة العرض الواجهه وطبقة البيانات وطبقه الشبكه.

سيتم شرح الكثير من الافكار الجديده من ناحيه وتنفيذها بمنتهي السهوله حتي تصبح ملما بالكثير من الافكار الجديده التي تساعدك في بناء مستقبلك المهني البرمجي.

سنقوم في البدايه ببناء مشروع وسنقوم باضافه كل الطبقات الخاصه بالكود المنظم وسوف نعمل علي شزح كيفيه ربط كل الطبقات ببعض حتي يصبح المشروع متناغم ومنظم وسهل الاصلاح.

سنقوم ببناء الكثير من الواجهات مثل واجهه المقدمه واجهه تسجيل الدخول واجهه التسجيل واجهه استرجاع كلمه السر الواجهه الرذيسيه واجهه الاعدادات وواجهه التفاصيل وسنقوم ايضا بتطبيق تغيير اللغه للتطبيق.

بعد ما تنتهي من هذه الدوره سيكون لك الخبره الكافيه لبناء مشروع متكامل وايضا سيكون لك الخبره علي اداره المشاريع الكبيره وايضا ستساعدك هذه الدوره علي النجاح في المقابلات الشخصيه لانها تعطيك فهم برمجي عميق

 

Who this course is for

  • المبرمج يكون لديه بالفعل معرفة في دارت وفلاتر
  • المبرمج الذي يريد اتقان الفلاتر
  • المبرمج الذي يبحث عن مفاهيم ومواضيع متقدمه ف فلاتر
  • المبرمج الذي يحتاج إلى معرفة كيفية إنشاء مشروع منظم وكتابة كود باعلي جودة وتنظيم
  • المبرمج الذي أخذ دورات للمبتدئين ولا يزال بحاجة إلى المزيد
  • المبرمج الذي يحتاج إلى دورة ليصبح مطور فلاتر جاهز للعمل

 

Course content

  • Introduction
    • About the Course
    • Content of the Course
    • Who Can Attend this Course?
  • Presentation Layer – Resources Manager
    • Lecture 4 – Creating Application Class
    • Lecture 5 – Creating Colors Manager
    • Lecture 6 – Creating Fonts Manager
    • Lecture 7 – Creating Values Manager
    • Lecture 8 – Creating Styles Manager
    • Lecture 9 – Creating Theme Manager
    • Lecture 10 – Adding Card Theme
    • Lecture 11 – Adding App Bar Theme
    • Lecture 12 – Adding Button Theme
    • Lecture 13 – Adding Text Theme
    • Lecture 14 – Adding Text Form Field Theme
    • Lecture 15 – Start Adding Routes Manager
    • Lecture 16 – Finish Adding Routes Manager
    • Lecture 17 – Adding Strings Manager
    • Lecture 18 – How to Select Image Sizes in Flutter?
    • Lecture 19 – Best Way to Add Icons to Flutter Project
  • Presentation Layer – Splash Screen
    • Lecture 20 – Start Splash Screen
    • Lecture 21 – Adding Timer to Splash Screen
  • Presentation Layer – OnBoarding Screen
    • Lecture 22 – Adding Assets for Onboarding Screen
    • Lecture 23 – Implementation Onboarding Screen Part1
    • Lecture 24- Implementation Onboarding Screen Part2
    • Lecture 25 – Implementation of Onboarding Screen Part3
    • Lecture 26 – Implementation of Onboarding Screen Part4
    • Lecture 27 – Implementation of Onboarding Screen Part5
    • Lecture 28 – Implementation Onboarding Screen Part6
    • Lecture 29 – Surprise
  • Presentation Layer – MVVM
    • Lecture 30 – What is MVVM?
    • Lecture 31 – Creating Base ViewModel
    • Lecture 32 – Creating Onboarding Screen ViewModel
    • Lecture 33 – What is Stream Controller?
    • Lecture 34 – Adding Stream Controller to Onboarding Viewmodel
    • Lecture 35 – Onboarding Viewmodel Logic Implemenation
    • Lecture 36: Continue Onboarding Viewmodel Logic Implemenation
    • Lecture 37 – Binding Onboarding Viewmodel to View
    • Lecture 38 – How to Recive Data in View From Viewmodel?
    • Lecture 39 – Test OnBoarding Refactor Implementation
  • Data / Domain layers – Clean Architecture Design Pattern
    • Lecture 40 – What is Clean Architecture?
    • Lecture 41 – Creating Mock APIs
    • Lecture 42 – Data Layer – Adding Dependencies for network layer
    • Lecture 43 – Data Layer – Adding APIs Responses
    • Lecture 44 – Data Layer – Json Serialization
    • Lecture 45 – Data Layer – Add API Service Client (Retrofit)
    • Lecture 46 – Domain Layer – Creating Models
    • Lecture 47 – Application Layer – Creating Extensions Functions
    • Lecture 48 – Data Layer – Creating Mappers and Applying Null Safety
    • Lecture 49 – Either Conecpt
    • Lecture 50 – Domain Layer – Adding Repository, Request and Failure
    • Lecture 51 – Data Layer – Remote Data Source
    • Lecture 52 – Data Layer – Adding Netowrk Data Checker
    • Lecture 53 – Data Layer – Adding Repository Implementer
    • Lecture 54 – Data Layer – Adding Data Source Enum
    • Lecture 55 – Data Layer – Adding Responses Codes
    • Lecture 56 – Data Layer – Adding Responses Messages
    • Lecture 57 – Data layer – Adding Extension on Data Sources
    • Lecture 58 – Data Layer – Adding Error Handler Class
    • Lecture 59 – Data Layer – Applying ErrorHandler on Repository Implementer
    • Lecture 60 – Data Layer – Adding Dio Factory
    • Lecture 61 – Data Layer – Adding Dio Logger Interceptor
    • Lecture 62 – Presentation Layer – Adding Language Manager
    • Lecture 63 – Application Layer – Adding Application Preferences
    • Lecture 64 – Update Dio Factory with App Preferences
    • Lecture 65 – Domain Layer – Adding Base UseCase
    • Lecture 66 – Domain Layer – Adding Login UseCase
  • Presentation Layer – Login Flow
    • Lecture 67 – Adding Login Viewmodel
    • Lecture 68 – Adding Streams to Login ViewModel
    • Lecture 69 – Adding Data Classes to Login ViewModel
    • Lecture 70 – Usage of Data Classes
    • Lecture 71 – Adding Login UseCase to Login ViewModel
    • Lecture 72 – Binding Login ViewModel to Login View
    • Lecture 73 – Login View UI
    • Lecture 74 – Login View UI Continue
    • Lecture 75 – Finalising Login UI
    • Lecture 76 – Adding Stream Controller For Login Button
    • Lecture 77 – Testing Login UI Implementation
    • Lecture 78 – Adding Forgot Pasword and Register Texts
  • Application Layer – Dependency Injection
    • Lecture 79 – Add dependency injection Instances
    • Lecture 80 – Add dependency injection Instances
    • Lecture 81 – Add Dependency Injection Login Module
    • Lecture 82 – How to Use Instance of Dependency Injection?
  • Presentation Layer – State Renderer
    • Lecture 83 – Make App Makes HTTP Request (NOT only HTTPs)
    • Lecture 84 – Testing Login API
    • Lecture 85 – Showing Popup State Renderer
    • Lecture 86 – Showing Full Screen State Renderer
    • Lecture 87 – Adding State Renderer Implementation
    • Lecture 88 – Adding State Renderer Implementation Part 2
    • Lecture 89 – Adding State Renderer Implementation Part 3
    • Lecture 90 – Adding State Renderer Implementation Part 4
    • Lecture 91 – Adding State Renderer Implementation Part 5
    • Lecture 92 – Adding State Renderer Implementation Part 6
    • Lecture 93 – Adding State Renderer Implementation Part 7
    • Lecture 94 – Applying State Renderer – Loading State
    • Lecture 95 – Applying State Renderer – Error State – Empty State – Content State
    • Lecture 96 – Adding Extension on State Renderer implementer
    • Lecture 97 -Adding Implementation for Loading State Case
    • Lect 98 Adding Implementation for (Error State-Empty State-Content State) Cases
    • Lecture 99 – Handling showing many popup dialogs
    • Lecture 100 – Adding Input Stream Controller Inside Base ViewModel
    • Lecture 101 – Updating Login View with Flow State Controller
    • Lecture 102 – Updating Login ViewModel with Flow State Controller
    • Lecture 103 – Testing State Renderer Implementation
  • Presentation Layer – Handling Pre Login Flow
    • Lecture 104 – Handling Login Success Result to Go to Main Screen
    • Lecture 105 – Updating Routes Navigation with App Prefernces
  • Assignment #1 – Forgot Password Flow
    • Forgot Password Assignment
    • Lecture 106 -Assignment #1 Requirement and Creating Mock API
    • Lecture 107 -Assignment #1 Solution Keys
    • Lecture 108 -Getting Assigment #1 source code from githup
  • Assignment #2 – Adding Success State Renderer
    • Lecture 109 -Assignment #2 Requirement
    • Lecture 110 -Assignment #2 Solution Keys
    • Lecture 111 -Creating Pull Request for Assigment #2 Solution
  • Data / Domain Layers – Registration Flow
    • Lecture 112 – Createing Mock API for Register Screen
    • Lecture 113 – Adding Register API Interface and Repository
    • Lec-114 Add Register API Call in Repository Impl, Remote Data Source and Usecase
  • Presentation Layer – MVVM – Register Flow
    • Lecture 115 – Adding Stream Controllers to Register ViewModel
    • Lecture 116- Adding Register ViewModel Input and Output
    • Lecture 117 – Implementations of Register ViewModel Inputs and Outputs
    • Lecture 118 – Adding Streams Implementations in Register ViewModel
    • Lecture 119 – Adding Register View Object Data Class
    • Lecture 120 – Updating Register View Object Data Class
    • Lecture 121 – Applying Validation to Register ViewModel
    • Lecture 122 – Add Register API Implementation Inside ViewModel
    • Lecture 123 -Binding Register ViewModel to View and Adding Dependencey Injection
    • Lecture 124 – Adding Stream Builders Inside Register View
    • Lecture 125- Adding UI for Register Screen
    • Lecture 126 – Adding UI for Register Screen Part 2
    • Lecture 127 – Adding UI for Register Screen Part 3
    • Lecture 128- Adding UI for Register Screen Part 4
    • Lecture 129- Adding UI for Register Screen Part 5
    • Lecture 130- Adding UI for Register Screen Part 6
    • Lecture 131- Testing Register Flow
    • Lecture 132- Finalising Register Flow
    • Lecture 133- Navigate to Main Screen
  • Presentation Layer – Main Flow
    • Lecture 134- Adding Pages Inside Main View
    • Lecture 135- Finalising Adding Pages inside Main View
    • Lecture 136 – Testing Pages Inside Main View
  • Data / Domain Layers – Home Flow
    • Lecture 137 – Creating Mock API for Home Screen
    • Lecture 138 – Adding Home API Responses
    • Lecture 139 – Adding Home API Models
    • Lecture 140 – Adding Mappers for Home APIs
    • Lecture 141 – Adding Mappers for Home API Continue
    • Lecture 142 – Adding Home API Inside App Service Client
    • Lecture 143 – Updating Remote Data Source and Repository with Home API
    • Lecture 144 – Adding Home UseCase
  • Presentation Layer – MVVM – Home Flow
    • Lecture 145 – Adding Home ViewModel and Rxdart
    • Lecture 146 – Add Home ViewModel Inputs and Outputs
    • Lecture 147 – Adding Implementation of Home API in ViewModel
    • Lec 148 add Home View, Adding Dependency Injection and Binding View to ViewModel
    • Lecture 149 – Home View UI
    • Lecture 150 – Adding Banner Carousel Widget
    • Lecture 151 – Adding Services Widget
    • Lecture 152 – Adding Stores Widget
    • Lecture 153 – Testing Home Implementation and Fixing Issues
  • Assignment #3 – Refactor Home
    • Lecture 154 – Home Refactor Assignment Requirement
    • Lecture 155 – Assignment Solution Keys
  • Data Layer – Caching (Local Data Source)
    • Lecture 156 – Start Caching Implementation
    • Lecture 157 – Adding Retrieving Caching Data from Local Data Source
    • Lecture 158 – Updating Repository Implementer With Local Data Source
    • Lecture 159 – Testing Caching on Home Page
  • Assignment #4 – Store Details Flow
    • Lecture 160 – Assignment Requirement – Creating Mock API
    • Lecture 161 – Assignment Solution Keys
  • Presentation Layer – Setting Screen
    • Lecture 162 – Adding UI of Settings Screen
    • Lecture 163 – Finalising Setting Screen
  • Presentation Layer – Localisation
    • Lecture 164- Start Implementing Localisation
    • Lecture 165 – Updating Application Strings
    • Lecture 166 – Continue Updating Application Strings
    • Lecture 167 – Updating Application Preferences with langauge changes
    • Lecture 168 – Update Main function with Localisation
    • Lecture 169 – Update Application Class and Settings Screen with localisation
    • Lecture 170 – Testing Localisation
  • Source Code
    • Lecture 171 – How to get source code from github?
  • Bonus Lecture
    • Lecture 172 – Bonus Lecture

 

🇦🇪 Flutter Advanced - Clean Architecture With MVVM in Arabic

IBM Cybersecurity Analyst [Coursera with IBM]

Time remaining or 854 enrolls left

 

Don’t miss any coupons by joining our Telegram group 

Udemy Coupon Code 100% off | Udemy Free Course | Udemy offer | Course with certificate