# asemyaser/techcloud architecture

> Architecture diagram of the GitHub repository asemyaser/techcloud, 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/asemyaser/techcloud
- Repository: https://github.com/asemyaser/techcloud

## Overview

The tree suggests a Flutter news app with article browsing, category selection, authentication, and profile features. The README is only Flutter starter text, and the sampled source contains platform scaffolding rather than Dart runtime code. The diagram therefore maps the named app modules but omits uncertain call paths and backend details.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App shell"]
  node_entry["App entry<br/>[main.dart]"]
  node_splash["Splash screen<br/>[splash_screen.dart]"]
end

subgraph group_news["News browsing"]
  node_home["Home page<br/>[home_page.dart]"]
  node_category["Category page<br/>[category_page.dart]"]
  node_favorites["Favorite categories"]
  node_details["Post details"]
  node_news_ui["News widgets<br/>[news_list.dart]"]
  node_category_ui["Category widgets"]
  node_data_service["Data service<br/>[data_service.dart]"]
  node_api_service["API service<br/>[api_service.dart]"]
  node_article_model["Article model<br/>[article_model.dart]"]
  node_category_model["Category model"]
end

subgraph group_account["Account"]
  node_login["Login<br/>[login_page.dart]"]
  node_registration["Create account"]
  node_email_confirmation["Email confirmation"]
  node_forgot_password["Forgot password"]
  node_reset_password["Reset password"]
  node_profile["User profile"]
  node_change_password["Change password"]
  node_auth_service["Auth service<br/>[auth_service.dart]"]
  node_user_model["User model<br/>[user_model.dart]"]
end

node_reader(("Reader"))

click node_entry "https://github.com/asemyaser/techcloud/blob/master/lib/main.dart"
click node_splash "https://github.com/asemyaser/techcloud/blob/master/lib/pages/splash_screen.dart"
click node_home "https://github.com/asemyaser/techcloud/blob/master/lib/pages/home_page.dart"
click node_category "https://github.com/asemyaser/techcloud/blob/master/lib/pages/category_page.dart"
click node_favorites "https://github.com/asemyaser/techcloud/blob/master/lib/pages/fav_categories/fav_categories_page.dart"
click node_details "https://github.com/asemyaser/techcloud/blob/master/lib/pages/post_details_page.dart"
click node_news_ui "https://github.com/asemyaser/techcloud/blob/master/lib/widgets/news/news_list.dart"
click node_category_ui "https://github.com/asemyaser/techcloud/blob/master/lib/widgets/category_card/category_card_list.dart"
click node_data_service "https://github.com/asemyaser/techcloud/blob/master/lib/services/data_service.dart"
click node_api_service "https://github.com/asemyaser/techcloud/blob/master/lib/services/api_service.dart"
click node_article_model "https://github.com/asemyaser/techcloud/blob/master/lib/models/article_model.dart"
click node_category_model "https://github.com/asemyaser/techcloud/blob/master/lib/models/category_model.dart"
click node_login "https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/login_page.dart"
click node_registration "https://github.com/asemyaser/techcloud/blob/master/lib/pages/register/create_account_page.dart"
click node_email_confirmation "https://github.com/asemyaser/techcloud/blob/master/lib/pages/register/confirm_email_page.dart"
click node_forgot_password "https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/forget_password_page.dart"
click node_reset_password "https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/reset_password_page.dart"
click node_profile "https://github.com/asemyaser/techcloud/blob/master/lib/pages/user_profile/user_profile_page.dart"
click node_change_password "https://github.com/asemyaser/techcloud/blob/master/lib/pages/user_profile/change_password_page.dart"
click node_auth_service "https://github.com/asemyaser/techcloud/blob/master/lib/services/auth_service.dart"
click node_user_model "https://github.com/asemyaser/techcloud/blob/master/lib/models/user_model.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 toneBlue
class node_home,node_category,node_favorites,node_details,node_news_ui,node_category_ui,node_data_service,node_api_service,node_article_model,node_category_model toneAmber
class node_login,node_registration,node_email_confirmation,node_forgot_password,node_reset_password,node_profile,node_change_password,node_auth_service,node_user_model toneMint
class node_reader toneIndigo
```

## Components

### App shell

- [App entry](https://github.com/asemyaser/techcloud/blob/master/lib/main.dart): `lib/main.dart`
- [Splash screen](https://github.com/asemyaser/techcloud/blob/master/lib/pages/splash_screen.dart): `lib/pages/splash_screen.dart`

### News browsing

- [Home page](https://github.com/asemyaser/techcloud/blob/master/lib/pages/home_page.dart): `lib/pages/home_page.dart`
- [Category page](https://github.com/asemyaser/techcloud/blob/master/lib/pages/category_page.dart): `lib/pages/category_page.dart`
- [Favorite categories](https://github.com/asemyaser/techcloud/blob/master/lib/pages/fav_categories/fav_categories_page.dart): `lib/pages/fav_categories/fav_categories_page.dart`
- [Post details](https://github.com/asemyaser/techcloud/blob/master/lib/pages/post_details_page.dart): `lib/pages/post_details_page.dart`
- [News widgets](https://github.com/asemyaser/techcloud/blob/master/lib/widgets/news/news_list.dart): `lib/widgets/news/news_list.dart`
- [Category widgets](https://github.com/asemyaser/techcloud/blob/master/lib/widgets/category_card/category_card_list.dart): `lib/widgets/category_card/category_card_list.dart`
- [Data service](https://github.com/asemyaser/techcloud/blob/master/lib/services/data_service.dart): `lib/services/data_service.dart`
- [API service](https://github.com/asemyaser/techcloud/blob/master/lib/services/api_service.dart): `lib/services/api_service.dart`
- [Article model](https://github.com/asemyaser/techcloud/blob/master/lib/models/article_model.dart): `lib/models/article_model.dart`
- [Category model](https://github.com/asemyaser/techcloud/blob/master/lib/models/category_model.dart): `lib/models/category_model.dart`

### Account

- [Login](https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/login_page.dart): `lib/pages/login/login_page.dart`
- [Create account](https://github.com/asemyaser/techcloud/blob/master/lib/pages/register/create_account_page.dart): `lib/pages/register/create_account_page.dart`
- [Email confirmation](https://github.com/asemyaser/techcloud/blob/master/lib/pages/register/confirm_email_page.dart): `lib/pages/register/confirm_email_page.dart`
- [Forgot password](https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/forget_password_page.dart): `lib/pages/login/forget_password_page.dart`
- [Reset password](https://github.com/asemyaser/techcloud/blob/master/lib/pages/login/reset_password_page.dart): `lib/pages/login/reset_password_page.dart`
- [User profile](https://github.com/asemyaser/techcloud/blob/master/lib/pages/user_profile/user_profile_page.dart): `lib/pages/user_profile/user_profile_page.dart`
- [Change password](https://github.com/asemyaser/techcloud/blob/master/lib/pages/user_profile/change_password_page.dart): `lib/pages/user_profile/change_password_page.dart`
- [Auth service](https://github.com/asemyaser/techcloud/blob/master/lib/services/auth_service.dart): `lib/services/auth_service.dart`
- [User model](https://github.com/asemyaser/techcloud/blob/master/lib/models/user_model.dart): `lib/models/user_model.dart`

### Other components

- **Reader**
