Flutter, TDD, Clean Architecture, SOLID e Design Patterns

39h 23m 38s
English
Paid
October 30, 2023

Nesse curso irei demonstrar na prática como criar um aplicativo com Flutter seguindo as melhores metodologias do mercado. Se você está cansado de cursos básicos e quer realmente aprender sobre conteúdos avançados e relevantes como: Design Patterns, Clean Architecture, SOLID, DRY, KISS, YAGNI, SoC, TDD, DDD, BDD, você está no lugar certo. O objetivo maior desse treinamento é fazer você sair da sua zona de conforto e ver que existem muitas coisas a serem estudadas para se tornar um líder técnico ou um arquiteto de software.

More

Vamos criar um aplicativo completo com LoginCadastroLista de EnquetesResponder uma EnqueteResultado da Enquete.

Vamos aprender a fazer gerenciamento de estado de forma simples e efetiva com testes e utilizando a biblioteca GetX.

Vamos aprender como manter um usuário logado gravando seu token de acesso de forma segura.

Vamos fazer o aplicativo ficar funcional onlineoffline.

Vamos tornar o aplicativo multi-idioma.

Esse curso fará você evoluir mais do que anos de faculdade. Mostrarei pra você, de forma objetiva, todos os conhecimentos que obtive ao longo dos anos de minha carreira. Você terá a oportunidade de evoluir em semanas ou meses (dependendo do seu nível e de sua disponibilidade em estudar) o que um programador sênior leva anos para aprender.

Watch Online Flutter, TDD, Clean Architecture, SOLID e Design Patterns

Join premium to watch
Go to premium
# Title Duration
1 Pra quem é esse curso? 02:45
2 Configurando o Git 17:31
3 Ajuste da aula anterior 01:05
4 Dica para o treinamento 14:53
5 BDD, UseCase e Diagrama de Dependências 16:15
6 Criando o Authentication UseCase 05:43
7 Criando o RemoteAuthentication e integrando com o HttpClient 18:03
8 Testando o body do request 21:40
9 Testando casos de exceção do HttpClient 16:52
10 Testando caso de sucesso 27:46
11 Criando o HttpAdapter e testando o post 22:59
12 Testando casos de sucesso 17:11
13 Testando casos de erro 21:25
14 Criando os Widgets da tela de Login 13:51
15 Criando estilo para os Widgets 21:17
16 Criando ícone para o aplicativo 08:32
17 MVC vs MVVM vs MVP vs BLOC 27:14
18 Testando estado inicial do LoginPage 17:11
19 Testando estados do formulário no LoginPage 37:47
20 Testando estados da ação de fazer login 26:03
21 Reutilizando o presenter nos Widgets com Provider 19:12
22 Criando o LoginPresenter com StreamController 29:18
23 Integrando o StreamLoginPresenter com o Validation 25:57
24 Integrando o StreamLoginPresenter com o Authentication 28:54
25 Criando o RequiredFieldValidation 15:20
26 Criando o EmailValidation 13:02
27 Criando o ValidationComposite 23:13
28 Fazendo a composição da tela de Login 27:20
29 Aplicando o Design Pattern Builder 15:49
30 Tornando o construtor do ValidationBuilder privado 02:18
31 Refatorando para usar o GetX como gerenciador de estado 42:09
32 Criando caso de uso para gravar o token de acesso no cache 12:49
33 Criando o LocalSaveCurrentAccount 25:43
34 Criando o LocalStorageAdapter e integrando com o Flutter Secure Storage 19:46
35 Integrando o LoginPresenter ao SaveCurrentAccount 35:33
36 Criando o caso de uso para carregar os dados da conta do usuário 08:30
37 Criando o LocalLoadCurrentAccount 23:55
38 Integrando o FetchSecureCacheStorage ao LocalStorageAdapter 12:26
39 Criando a tela de Splash 23:52
40 Criando o Presenter para o Splash Page com GetX 20:34
41 Fazendo a composição do Splash Page 12:04
42 Aplicando i18n 18:46
43 Refatorando o projeto para centralizar as traduções na UI Layer 46:44
44 Criando o UseCase do AddAccount 07:25
45 Testando a implementação do AddAccount UseCase voltado para API 26:42
46 Testando o estado inicial do SignUp Page 12:20
47 Testando a validação do formulário do SignUp Page 22:19
48 Finalizando os testes do SignUp Page 18:32
49 Testando o Validation no SignUpPresenter 12:18
50 Testando o AddAccount no SignUpPresenter 28:53
51 Testando navegação entre as telas de Login e SignUp 13:44
52 Criando o MinLengthValidation 14:08
53 Criando o CompareFieldsValidation 06:14
54 Refatorando o projeto por conta de uma modelagem errada 30:34
55 Fazendo a composição do SignUp 12:24
56 Correção de bug encontrado 08:51
57 Criando o LoadSurveys UseCase 11:26
58 Testando a integração do RemoteLoadSurveys com o HttpClient 08:57
59 Testando casos de sucesso da API 29:00
60 Testando casos de exceção da API 10:14
61 Implementando o Get no HttpAdapter 14:14
62 Criando a interface da tela de Surveys 17:10
63 Testando o estado inicial e a stream de loading 21:33
64 Testando a stream de dados da enquete 19:42
65 Testando dados corretos das enquetes 06:28
66 Criando o GetxSurveysPresenter e testando suas streams 32:48
67 Movendo o GetxSurveysPresenter para produção 03:10
68 Fazendo a composição do Surveys Page 15:24
69 Adicionando headers no HttpClient 11:33
70 Aplicando o Design Pattern Decorator 35:49
71 Alterando a composição para usar o Decorator 08:07
72 Correção de bug encontrado 08:55
73 Criando os requerimentos para listar enquetes offline 10:47
74 Testando o caso de sucesso do LocalLoadSurveys 21:09
75 Testando casos de erro do LoadLocalSurveys 17:20
76 Fazendo o LocalLoadSurveys implementar o Validate 20:30
77 Fazendo o LocalLoadSurveys implementar o Save 21:00
78 Separando a implementação do cache e do cache seguro 08:21
79 Testando o Save do LocalStorageAdapter 16:32
80 Testando o Delete do LocalStorageAdapter 07:32
81 Testando o Fetch do LocalStorageAdapter 09:51
82 Movendo o ValidationComposite para o Main Layer 08:11
83 Testando caso de sucesso do Composite 14:47
84 Testando casos de exceção do Composite 17:00
85 Fazendo a composição com o novo Composite 21:03
86 Criando o caso de uso do LoadSurveyResult 12:49
87 Criando a implementação do LoadSurveyResult com API 27:59
88 Criando a estrutura de arquivos 05:32
89 Criando o layout da tela de resultado da enquete 19:39
90 Testando o estado inicial e a stream de loading 17:56
91 Testando casos de erro 19:39
92 Testando caso de sucesso 25:15
93 Refatorando o código 11:34
94 Criando o GetxSurveyResultPresenter e testando suas streams 19:30
95 Adicionando link entre Survey e SurveyResult 15:51
96 Criando a composição da tela de resultado da enquete 11:30
97 Limpando o token de acesso do Cache no erro 403 24:34
98 Deslogando o usuário em caso de acesso negado 23:03
99 Aplicando o DRY com o uso de Mixins nos Presenters 13:34
100 Aplicando o DRY com o uso de Mixins nos Widgets 18:58
101 Evitando Memory Leaks 05:21
102 Implementando o método de Load 28:34
103 Implementando o método de Validate 06:17
104 Implementando o método de Save 18:49
105 Aplicando o Design Pattern Composite 1/2 21:39
106 Aplicando o Design Pattern Composite 2/2 21:27
107 Alterando a composição do SurveyResult para usar o Composite 09:42
108 Ajuste no save do LocalLoadSurveyResult 05:51
109 Domain Layer 07:18
110 Data Layer 18:31
111 Infra Layer 05:26
112 UI Layer 10:30
113 Presentation Layer 16:40
114 Main Layer 08:21
115 Correção de bugs encontrados 21:51
116 Fazendo reload de uma tela após o evento de back do navigation 15:38
117 Simplificando os testes de UI com helpers 15:30
118 Refatorando os Mocks 1/3 30:05
119 Refatorando os Mocks 2/3 21:01
120 Refatorando os Mocks 3/3 08:11
121 Migrando para a versão nova do Flutter com FVM 13:37
122 Migrando mockito para mocktail 19:23
123 Removendo meta.dart 24:24
124 Corrigindo erros da pasta lib 18:04
125 Corrigindo erros da pasta test 08:17
126 Refatorando os mocks 27:11
127 Corrigindo bug do mocktail que retorna null pra todos os mocks (até para void) 15:47
128 Extraindo mocks do Data Layer 19:31
129 Extraindo mocks do Infra Layer 26:31
130 Extraindo mocks do Main Layer 30:29
131 Extraindo mocks do Presentation Layer 30:37
132 Extraindo mocks do UI Layer 35:54
133 Ajustes finais 07:34

Similar courses to Flutter, TDD, Clean Architecture, SOLID e Design Patterns

Flutter Masterclass

Flutter MasterclassNet Ninja

Duration 14 hours 56 minutes 50 seconds
Flutter In Production

Flutter In Productioncode with andrea

Duration 19 minutes 8 seconds
Flutter Developer Bootcamp

Flutter Developer Bootcampresocoder.com

Duration 35 hours 46 minutes 42 seconds
Dart 101

Dart 101fireship.io

Duration 46 minutes 8 seconds
Flutter Firebase - The Full Course

Flutter Firebase - The Full Coursefireship.io

Duration 1 hour 48 minutes 32 seconds