
Learn how repositories in the data layer implement domain contracts to enable CRUD operations, manage data consistency, depend on data sources, and maintain separation of concerns for reusable code.
Create a user entity in a flutter app, define the domain layer with a user model (id, created at, name, avatar), and explore referential equality in a TDD context.
Explore how clean architecture structures use cases around repositories, implementing a create user use case that calls the authentication repository, using a Dart callable function.
Demonstrates a domain layer use case for creating a user with multiple params, using a custom create user params type, Equatable, and clean architecture patterns with linting compliance.
Teach to write a Flutter BLoC test: await a future, use expect to assert right data, and verify the auth repository creates a user with right or left outcomes.
Run the test to verify the create user flow passes, fix incorrect creator usage, and start get user tests using mocktail with a fake authentication repository.
Showcase testing the get users domain use case with mocktail, wiring a mock authentication repository, and verifying a get users call that returns a list of users in domain layer.
Test the user model with unit tests, covering dependencies, mock tail fakes, and grouped tests, to ensure correct behavior and that the model is a subclass of the user entity.
Master test-driven development for a flutter bloc authentication repository by implementing API exception handling, remote data source interactions, and get users tests to verify success and failure paths.
Explore http post requests to a mock api, using a base url and /users endpoint to create a user with a json body and test 200/201 and 400 outcomes.
Write robust http get request tests for fetching users, using try/catch to throw api exceptions on errors, rethrowing exceptions, and validating uri construction and json-to-user mapping.
Explore using Flutter bloc and cubit in a presentation layer, wiring authentication events to use cases like create user and get users, emitting loading and loaded states and wiring dependencies.
Write a test for the authentication qubit using mocks for get users and create user, initialize the qubit, and verify the authentication initial state.
Learn how to test a BLoC/Cubit user creation flow with the block_test package, covering setup, arrange-act-assert, emitted states (creating user, user created), and dependency verification.
Test a cubit that fetches users, emitting getting users then users loaded on success, and authentication error or server API failure on error, with verification of API calls.
Demonstrate dependency injection and bloc wiring in a Flutter app, loading the home screen via a qubit, service locator, and bloc provider for adding and fetching users.
This is course where we will cover what is clean architecture in detail with step by step example. We will also talk about why it important and how it plays an important role for big projects and how a team can collaborate with their projects if the project is done using clean architecture and how each of the project is dependent.
This course comes in two parts. Students need to buy both parts separately.
Buy the source code from our website to get free access to course using free coupon.
Twitter/Facebook/Instagram/LinkedIn @dbestech
This app cover 100 TDD and detail explanation of Clean Architecture with BLoC, Provider and Cubit
This app uses firebase as backend and chatting. All data is saved in the firebase and the login also happens through firebase. You get notifications in different cases.
You may get notification for joining a group and notification is a new course or exam is uploaded.
There's an admin side of this app, where you may upload courses to firebase and the app reads that immediately. You may upload many exams or courses.
The exam result comes out automatically and immediately. Students can review their result and recheck the test.
You will have a screen video player section which could be fullscreen or half screen. You get to play video from a link or local storage.
Profile center provides name, password and avatar change.
This course also covers dedicated TDD section clear examples. So the first 6 hours of this course we take a look at a dummy app to know about TDD and clean architecture.
Main features
Social login
View course
Join group chat
Auto create group chat
Leave group chat
Upload video from backend
Play video from local storage
Profile center (create, delete, update with image)
Receive notification
Clear notification
Onboarding screen
Firebase integration
Admin panel
Upload exam