Course Demo
updated Sept. 2, 2021
Lectures
-
Course Demo
-
Part 1: Project Setup
-
Before you Start
-
Dependencies and buildSrc
-
Part 2: Modularization
-
Planning the Modular Design
-
Building the Modules
-
build.gradle Files
-
Part 3: Domain
-
Core
-
Hero Domain Model
-
Part 4: Network Datasource (Ktor)
-
Data Transfer Objects (DTO)
-
HeroService and Ktor
-
GetHeros Use-case
-
Testing GetHeros Use-case
-
Part 5: Caching Datasource (SQL Delight)
-
SQL Delight Setup
-
HeroCache and Implementation
-
Add Caching to GetHeros Use-case
-
Testing the Caching
-
Part 6: HeroList UI
-
HeroList Screen
-
Display Images with Coil
-
Part 7: Hilt and ViewModels
-
Hilt Setup
-
Hilt Modules and ViewModels
-
More Hilt Modules
-
UI Events in HeroList
-
Part 8: HeroDetail UI
-
Compose Navigation
-
Retrieving a Hero from Cache
-
HeroDetail ViewModel
-
HeroDetail State and Events
-
Hero Detail Screen
-
Part 9: Search, Filter and Order Heros
-
Hero List Toolbar with Search Input
-
Filtering Hero's by Name
-
Filter and Order Mechanism
-
Filter and Order Use-case
-
Filter and Order Dialog
-
Dialog State (show & hide)
-
Win Percentage Filter
-
Primary Attribute Filter
-
Default Screen UI
-
Part 10: Navigation Transition Animations
-
Compose Navigation Transition Animations API
-
Part 11: Error Dialog System
-
Dialog Queue
-
Adding Dialogs to the Queue
-
Displaying the Queue in UI
-
Removing Dialogs from the Queue
-
Part 12: Fake Datasources for Testing
-
Fake Network Data
-
Fake Network Datasource
-
Fake Caching Datasource
-
Part 13: Unit Testing
-
Get Heros Test (Good Data)
-
Get Heros Test (Malformed)
-
Get Heros Test (Empty)
-
What else can we test?
-
Part 14: Compose UI Tests
-
HeroList Isolation Test
-
HeroDetail Isolation Test
-
End-to-end Testing Setup
-
End-to-end HeroList Test
Comments
Lectures
-
Course Demo
-
Part 1: Project Setup
-
Before you Start
-
Dependencies and buildSrc
-
Part 2: Modularization
-
Planning the Modular Design
-
Building the Modules
-
build.gradle Files
-
Part 3: Domain
-
Core
-
Hero Domain Model
-
Part 4: Network Datasource (Ktor)
-
Data Transfer Objects (DTO)
-
HeroService and Ktor
-
GetHeros Use-case
-
Testing GetHeros Use-case
-
Part 5: Caching Datasource (SQL Delight)
-
SQL Delight Setup
-
HeroCache and Implementation
-
Add Caching to GetHeros Use-case
-
Testing the Caching
-
Part 6: HeroList UI
-
HeroList Screen
-
Display Images with Coil
-
Part 7: Hilt and ViewModels
-
Hilt Setup
-
Hilt Modules and ViewModels
-
More Hilt Modules
-
UI Events in HeroList
-
Part 8: HeroDetail UI
-
Compose Navigation
-
Retrieving a Hero from Cache
-
HeroDetail ViewModel
-
HeroDetail State and Events
-
Hero Detail Screen
-
Part 9: Search, Filter and Order Heros
-
Hero List Toolbar with Search Input
-
Filtering Hero's by Name
-
Filter and Order Mechanism
-
Filter and Order Use-case
-
Filter and Order Dialog
-
Dialog State (show & hide)
-
Win Percentage Filter
-
Primary Attribute Filter
-
Default Screen UI
-
Part 10: Navigation Transition Animations
-
Compose Navigation Transition Animations API
-
Part 11: Error Dialog System
-
Dialog Queue
-
Adding Dialogs to the Queue
-
Displaying the Queue in UI
-
Removing Dialogs from the Queue
-
Part 12: Fake Datasources for Testing
-
Fake Network Data
-
Fake Network Datasource
-
Fake Caching Datasource
-
Part 13: Unit Testing
-
Get Heros Test (Good Data)
-
Get Heros Test (Malformed)
-
Get Heros Test (Empty)
-
What else can we test?
-
Part 14: Compose UI Tests
-
HeroList Isolation Test
-
HeroDetail Isolation Test
-
End-to-end Testing Setup
-
End-to-end HeroList Test