# thiendat2004/music architecture

> Architecture diagram of the GitHub repository thiendat2004/music, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/thiendat2004/music
- Repository: https://github.com/thiendat2004/music

## Overview

This is an in-progress Flutter music app. The tree indicates an onboarding/authentication and appearance-selection experience: users encounter an intro, sign in or sign up, and can choose a display mode. The Dart entry point, page implementations, and state wiring were not sampled, so the graph identifies those product areas without asserting navigation or calls between them. The native platform directories are Flutter launch scaffolding rather than distinct music-app behavior.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["App experience"]
  node_entry["Dart entry point<br/>[main.dart]"]
  node_splash["Splash screen<br/>[splash.dart]"]
  node_intro["Getting started<br/>[get_started.dart]"]
  node_auth["Sign in / sign up<br/>[signup_signin.dart]"]
end

subgraph group_appearance["Appearance"]
  node_mode_page["Mode selection"]
  node_theme_state["Theme state<br/>[theme_cubit.dart]"]
  node_app_theme["App theme<br/>[app_theme.dart]"]
  node_colors["Theme colors<br/>[app_colors.dart]"]
end

subgraph group_shared["Shared UI"]
  node_buttons["Button widget"]
  node_mode_widget["Mode chooser"]
  node_theme_helper["Theme helper"]
  node_assets["App assets<br/>[app_images.dart]"]
  node_vectors["Vector assets<br/>[app_vectors.dart]"]
end

node_user(("App user"))

click node_entry "https://github.com/thiendat2004/music/blob/master/lib/main.dart"
click node_splash "https://github.com/thiendat2004/music/blob/master/lib/presentation/splash/pages/splash.dart"
click node_intro "https://github.com/thiendat2004/music/blob/master/lib/presentation/intro/pages/get_started.dart"
click node_auth "https://github.com/thiendat2004/music/blob/master/lib/presentation/auth/pages/signup_signin.dart"
click node_mode_page "https://github.com/thiendat2004/music/blob/master/lib/presentation/choose_mode/pages/choose_mode_page.dart"
click node_theme_state "https://github.com/thiendat2004/music/blob/master/lib/presentation/choose_mode/bloc/theme_cubit.dart"
click node_app_theme "https://github.com/thiendat2004/music/blob/master/lib/core/configs/theme/app_theme.dart"
click node_colors "https://github.com/thiendat2004/music/blob/master/lib/core/configs/theme/app_colors.dart"
click node_buttons "https://github.com/thiendat2004/music/blob/master/lib/common/widgets/button/basic_app_button.dart"
click node_mode_widget "https://github.com/thiendat2004/music/blob/master/lib/common/widgets/chooseMode/basic_choose_mode.dart"
click node_theme_helper "https://github.com/thiendat2004/music/blob/master/lib/common/helpers/is_light_theme.dart"
click node_assets "https://github.com/thiendat2004/music/blob/master/lib/core/configs/assets/app_images.dart"
click node_vectors "https://github.com/thiendat2004/music/blob/master/lib/core/configs/assets/app_vectors.dart"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_entry,node_splash,node_intro,node_auth,node_user toneBlue
class node_mode_page,node_theme_state,node_app_theme,node_colors toneAmber
class node_buttons,node_mode_widget,node_theme_helper,node_assets,node_vectors toneMint
```

## Components

### App experience

- [Dart entry point](https://github.com/thiendat2004/music/blob/master/lib/main.dart): `lib/main.dart`
- [Splash screen](https://github.com/thiendat2004/music/blob/master/lib/presentation/splash/pages/splash.dart): `lib/presentation/splash/pages/splash.dart`
- [Getting started](https://github.com/thiendat2004/music/blob/master/lib/presentation/intro/pages/get_started.dart): `lib/presentation/intro/pages/get_started.dart`
- [Sign in / sign up](https://github.com/thiendat2004/music/blob/master/lib/presentation/auth/pages/signup_signin.dart): `lib/presentation/auth/pages/signup_signin.dart`

### Appearance

- [Mode selection](https://github.com/thiendat2004/music/blob/master/lib/presentation/choose_mode/pages/choose_mode_page.dart): `lib/presentation/choose_mode/pages/choose_mode_page.dart`
- [Theme state](https://github.com/thiendat2004/music/blob/master/lib/presentation/choose_mode/bloc/theme_cubit.dart): `lib/presentation/choose_mode/bloc/theme_cubit.dart`
- [App theme](https://github.com/thiendat2004/music/blob/master/lib/core/configs/theme/app_theme.dart): `lib/core/configs/theme/app_theme.dart`
- [Theme colors](https://github.com/thiendat2004/music/blob/master/lib/core/configs/theme/app_colors.dart): `lib/core/configs/theme/app_colors.dart`

### Shared UI

- [Button widget](https://github.com/thiendat2004/music/blob/master/lib/common/widgets/button/basic_app_button.dart): `lib/common/widgets/button/basic_app_button.dart`
- [Mode chooser](https://github.com/thiendat2004/music/blob/master/lib/common/widgets/chooseMode/basic_choose_mode.dart): `lib/common/widgets/chooseMode/basic_choose_mode.dart`
- [Theme helper](https://github.com/thiendat2004/music/blob/master/lib/common/helpers/is_light_theme.dart): `lib/common/helpers/is_light_theme.dart`
- [App assets](https://github.com/thiendat2004/music/blob/master/lib/core/configs/assets/app_images.dart): `lib/core/configs/assets/app_images.dart`
- [Vector assets](https://github.com/thiendat2004/music/blob/master/lib/core/configs/assets/app_vectors.dart): `lib/core/configs/assets/app_vectors.dart`

### Other components

- **App user**
