<!--
SPDX-FileCopyrightText: 2022 Jinsong, Zhu <jasonzjs@amazon.com>

SPDX-License-Identifier: MIT-0
-->

# Architecture

## Views List

* Login View
* Sign Up View
* Confirmation Code View
* Home view
* Profile View

<img src="./resources/3.1.1LoginView.png" alt="3.1.1LoginView" width="25%" /><img src="./resources/3.1.2SignUpView.png" alt="3.1.2SignUpView" width="25%" /><img src="./resources/3.1.3ConfirmationView.png" alt="3.1.3ConfirmationView" width="25%" />

<img src="./resources/3.1.4HomeView.png" alt="3.1.4HomeView" width="25%" /><img src="./resources/3.1.5ProfileView.png" alt="3.1.5ProfileView" width="25%" /><img src="./resources/3.1.6ProfileView-ChangeAvatar.png" alt="3.1.6ProfileView-ChangeAvatar" width="25%" />



## Diagram

Notice: This project uses [flutter_bloc](https://github.com/felangel/bloc/tree/master/packages/flutter_bloc) for state management.

### Bloc Architecture

![3.bloc_architecture_full](./resources/3.bloc_architecture_full.png)

### App Architecture

![3.1 StateManagement](./resources/3.1 StateManagement.png)

### Full Architecture

![3.Architecture](./resources/3.Architecture.png)