الكورس العربي الاقوي من حيث المحتوي والافكار..سوف تتعلم طرق جديده للتطبيق من خلال فلاتر ودارت
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
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