• Post category:StudyBullet-7
  • Reading time:19 mins read


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

What you will 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

Description

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

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

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

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


Get Instant Notification of New Courses on our Telegram channel.


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

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

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

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

العربية
language

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

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