# kidevil1290/makeme architecture

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

- Interactive diagram: https://gitdiagram.com/kidevil1290/makeme
- Repository: https://github.com/kidevil1290/makeme

## Overview

MakeMe is a Flutter app whose visible domain is user profiles, customizable avatars, and habit logging. The likely user journey begins at app startup, proceeds through login and the home screen, and branches into avatar configuration or habit logging. The tree also identifies shared screen-management, model, and widget layers. Dart sources were not excerpted, so screen transitions, persistence, and model-to-UI usage are unverified; dashed, uncited edges indicate only likely connections, not inspected call paths.

Main entry points: [`lib/screens/home_screen.dart`](https://github.com/kidevil1290/makeme/blob/main/lib/screens/home_screen.dart) (Home), [`lib/screens/avatar_specs.dart`](https://github.com/kidevil1290/makeme/blob/main/lib/screens/avatar_specs.dart) (Avatar setup), [`lib/app.dart`](https://github.com/kidevil1290/makeme/blob/main/lib/app.dart) (App root), [`lib/screens/login_screen.dart`](https://github.com/kidevil1290/makeme/blob/main/lib/screens/login_screen.dart) (Login)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App shell"]
  node_entry["App entry<br/>[main.dart]"]
  node_app_root["App root<br/>[app.dart]"]
end

subgraph group_screens["User screens"]
  node_login["Login<br/>[login_screen.dart]"]
  node_home["Home<br/>[home_screen.dart]"]
  node_avatar_specs["Avatar setup<br/>[avatar_specs.dart]"]
  node_habit_logger["Habit logging<br/>[habit_logger.dart]"]
end

subgraph group_domain["Domain models"]
  node_avatar_model["Avatar model<br/>[avatar.dart]"]
  node_head_config["Head config<br/>[head_config.dart]"]
  node_profile["User profile<br/>[user_profile.dart]"]
end

subgraph group_shared["Shared UI and logic"]
  node_screen_manager["Screen manager"]
  node_avatar_display["Avatar display"]
  node_theme["Theme<br/>[theme.dart]"]
  node_asset_paths["Asset paths<br/>[asset_paths.dart]"]
  node_enums["Enums<br/>[enums.dart]"]
end

node_user(("User"))

node_user -.->|"launches"| node_entry
node_entry -.->|"starts"| node_app_root
node_app_root -.->|"shows"| node_login
node_login -.->|"continues to"| node_home
node_home -.->|"opens"| node_avatar_specs
node_home -.->|"opens"| node_habit_logger
node_avatar_specs -.->|"configures"| node_avatar_model
node_avatar_specs -.->|"configures"| node_head_config
node_login -.->|"uses"| node_profile
node_home -.->|"uses"| node_screen_manager
node_avatar_specs -.->|"renders"| node_avatar_display
node_app_root -.->|"uses"| node_theme
node_avatar_display -.->|"resolves assets"| node_asset_paths

click node_entry "https://github.com/kidevil1290/makeme/blob/main/lib/main.dart"
click node_app_root "https://github.com/kidevil1290/makeme/blob/main/lib/app.dart"
click node_login "https://github.com/kidevil1290/makeme/blob/main/lib/screens/login_screen.dart"
click node_home "https://github.com/kidevil1290/makeme/blob/main/lib/screens/home_screen.dart"
click node_avatar_specs "https://github.com/kidevil1290/makeme/blob/main/lib/screens/avatar_specs.dart"
click node_habit_logger "https://github.com/kidevil1290/makeme/blob/main/lib/screens/habit_logger.dart"
click node_avatar_model "https://github.com/kidevil1290/makeme/blob/main/lib/models/avatar.dart"
click node_head_config "https://github.com/kidevil1290/makeme/blob/main/lib/models/head_config.dart"
click node_profile "https://github.com/kidevil1290/makeme/blob/main/lib/models/user_profile.dart"
click node_screen_manager "https://github.com/kidevil1290/makeme/blob/main/lib/services/screen_manager.dart"
click node_avatar_display "https://github.com/kidevil1290/makeme/blob/main/lib/widgets/avatar_display.dart"
click node_theme "https://github.com/kidevil1290/makeme/blob/main/lib/theme/theme.dart"
click node_asset_paths "https://github.com/kidevil1290/makeme/blob/main/lib/utils/asset_paths.dart"
click node_enums "https://github.com/kidevil1290/makeme/blob/main/lib/utils/enums.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_app_root,node_user toneBlue
class node_login,node_home,node_avatar_specs,node_habit_logger toneAmber
class node_avatar_model,node_head_config,node_profile toneMint
class node_screen_manager,node_avatar_display,node_theme,node_asset_paths,node_enums toneRose
```

## Components

### App shell

- [App entry](https://github.com/kidevil1290/makeme/blob/main/lib/main.dart): `lib/main.dart`
- [App root](https://github.com/kidevil1290/makeme/blob/main/lib/app.dart): `lib/app.dart`

### User screens

- [Login](https://github.com/kidevil1290/makeme/blob/main/lib/screens/login_screen.dart): `lib/screens/login_screen.dart`
- [Home](https://github.com/kidevil1290/makeme/blob/main/lib/screens/home_screen.dart): `lib/screens/home_screen.dart`
- [Avatar setup](https://github.com/kidevil1290/makeme/blob/main/lib/screens/avatar_specs.dart): `lib/screens/avatar_specs.dart`
- [Habit logging](https://github.com/kidevil1290/makeme/blob/main/lib/screens/habit_logger.dart): `lib/screens/habit_logger.dart`

### Domain models

- [Avatar model](https://github.com/kidevil1290/makeme/blob/main/lib/models/avatar.dart): `lib/models/avatar.dart`
- [Head config](https://github.com/kidevil1290/makeme/blob/main/lib/models/head_config.dart): `lib/models/head_config.dart`
- [User profile](https://github.com/kidevil1290/makeme/blob/main/lib/models/user_profile.dart): `lib/models/user_profile.dart`

### Shared UI and logic

- [Screen manager](https://github.com/kidevil1290/makeme/blob/main/lib/services/screen_manager.dart): `lib/services/screen_manager.dart`
- [Avatar display](https://github.com/kidevil1290/makeme/blob/main/lib/widgets/avatar_display.dart): `lib/widgets/avatar_display.dart`
- [Theme](https://github.com/kidevil1290/makeme/blob/main/lib/theme/theme.dart): `lib/theme/theme.dart`
- [Asset paths](https://github.com/kidevil1290/makeme/blob/main/lib/utils/asset_paths.dart): `lib/utils/asset_paths.dart`
- [Enums](https://github.com/kidevil1290/makeme/blob/main/lib/utils/enums.dart): `lib/utils/enums.dart`

### Other components

- **User**

## Connections

- User → App entry: launches
- App entry → App root: starts
- App root → Login: shows
- Login → Home: continues to
- Home → Avatar setup: opens
- Home → Habit logging: opens
- Avatar setup → Avatar model: configures
- Avatar setup → Head config: configures
- Login → User profile: uses
- Home → Screen manager: uses
- Avatar setup → Avatar display: renders
- App root → Theme: uses
- Avatar display → Asset paths: resolves assets
