---
title: Flutter BLoC Mastery
description: Build a digital wallet from local state to production-style Flutter architecture.
---

# Flutter BLoC Mastery

Prepared by **Em Diya**

This is a practical wallet lab for Flutter developers moving from GetX to Cubit and Bloc. It uses mock data only: no funds are sent and no payment provider is contacted.

## Learning outcomes

- Choose Cubit for direct state and Bloc for named workflows.
- Follow immutable state and unidirectional data flow.
- Build authentication, accounts, transactions, beneficiaries, transfers, preferences, failures, and tests.
- Grow a feature from mock data to repository and remote-data-source layers.

## Current app journey

~~~text
Sign in -> Dashboard -> Accounts / Activity / People / Settings
                           |
                           -> Send money -> Review -> Confirm
~~~

Demo credentials:

~~~text
Username: admin
Password: 123456
~~~

Use username offline with any password of at least six characters to see the mock network-error path.

## Guides

- [Getting started](./getting-started)
- [Architecture](./architecture)
- [Bloc deep dive](./bloc-deep-dive)
- [Authentication](./features/authentication)
- [Accounts and dashboard](./features/accounts-dashboard)
- [Transactions](./features/transactions)
- [Beneficiaries and transfers](./features/beneficiaries-transfers)
- [Settings and persistence](./features/settings-persistence)
- [Testing](./testing)
- [Team workflow and roadmap](./team-workflow)
