# techaccecho/flutter-apps architecture

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

- Interactive diagram: https://gitdiagram.com/techaccecho/flutter-apps
- Repository: https://github.com/techaccecho/flutter-apps

## Overview

This repository contains two Flutter project scaffolds, `blog` and `flutter_template`, with native launchers for desktop and mobile platforms. The available evidence shows native entry points handing off to Flutter host-window/application code; it does not include Dart application sources, so the README’s widget and BLoC guidance cannot be mapped to implemented feature stages. `blog/middleware.js` is present but its behavior and relationship to either app are not established by the excerpts.

Main entry points: [`blog/windows/runner/main.cpp`](https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/main.cpp) (Windows entry), [`flutter_template/windows/runner/main.cpp`](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/main.cpp) (Windows entry), [`blog/windows/runner/flutter_window.cpp`](https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/flutter_window.cpp) (Windows Flutter host), [`flutter_template/windows/runner/flutter_window.cpp`](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/flutter_window.cpp) (Windows Flutter host)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_blog["Blog app shell"]
  node_blog_linux_entry["Linux entry<br/>[main.cc]"]
  node_blog_linux_app["Linux app host<br/>[my_application.cc]"]
  node_blog_linux_app_api["Linux host API<br/>[my_application.h]"]
  node_blog_windows_entry["Windows entry<br/>[main.cpp]"]
  node_blog_windows_host["Windows Flutter host<br/>[flutter_window.cpp]"]
  node_blog_middleware["Blog middleware<br/>[middleware.js]"]
end

subgraph group_template["Template app shell"]
  node_template_linux_entry["Linux entry<br/>[main.cc]"]
  node_template_linux_app["Linux app host<br/>[my_application.cc]"]
  node_template_linux_app_api["Linux host API<br/>[my_application.h]"]
  node_template_windows_entry["Windows entry<br/>[main.cpp]"]
  node_template_windows_host["Windows Flutter host<br/>[flutter_window.cpp]"]
end

subgraph group_native["Native platform hosts"]
  node_blog_win32_window["Win32 window<br/>[win32_window.cpp]"]
  node_blog_linux_plugins["Linux plugin API"]
  node_template_win32_window["Win32 window<br/>[win32_window.cpp]"]
  node_template_linux_plugins["Linux plugin API"]
  node_template_windows_plugins["Windows plugin API"]
end

node_blog_linux_entry -->|"creates and runs"| node_blog_linux_app
node_blog_windows_entry -->|"creates"| node_blog_windows_host
node_blog_windows_entry -->|"runs message loop"| node_blog_windows_host
node_template_linux_entry -->|"creates and runs"| node_template_linux_app
node_template_windows_entry -->|"creates"| node_template_windows_host
node_template_windows_entry -->|"runs message loop"| node_template_windows_host

click node_blog_linux_entry "https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/main.cc"
click node_blog_linux_app "https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/my_application.cc"
click node_blog_linux_app_api "https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/my_application.h"
click node_blog_windows_entry "https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/main.cpp"
click node_blog_windows_host "https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/flutter_window.cpp"
click node_blog_win32_window "https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/win32_window.cpp"
click node_blog_linux_plugins "https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/flutter/generated_plugin_registrant.h"
click node_blog_middleware "https://github.com/techaccecho/flutter-apps/blob/main/blog/middleware.js"
click node_template_linux_entry "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/main.cc"
click node_template_linux_app "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/my_application.cc"
click node_template_linux_app_api "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/my_application.h"
click node_template_windows_entry "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/main.cpp"
click node_template_windows_host "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/flutter_window.cpp"
click node_template_win32_window "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/win32_window.cpp"
click node_template_linux_plugins "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/flutter/generated_plugin_registrant.h"
click node_template_windows_plugins "https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/flutter/generated_plugin_registrant.h"

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_blog_linux_entry,node_blog_linux_app,node_blog_linux_app_api,node_blog_windows_entry,node_blog_windows_host,node_blog_middleware toneBlue
class node_template_linux_entry,node_template_linux_app,node_template_linux_app_api,node_template_windows_entry,node_template_windows_host toneAmber
class node_blog_win32_window,node_blog_linux_plugins,node_template_win32_window,node_template_linux_plugins,node_template_windows_plugins toneMint
```

## Components

### Blog app shell

- [Linux entry](https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/main.cc): `blog/linux/runner/main.cc`
- [Linux app host](https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/my_application.cc): `blog/linux/runner/my_application.cc`
- [Linux host API](https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/runner/my_application.h): `blog/linux/runner/my_application.h`
- [Windows entry](https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/main.cpp): `blog/windows/runner/main.cpp`
- [Windows Flutter host](https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/flutter_window.cpp): `blog/windows/runner/flutter_window.cpp`
- [Blog middleware](https://github.com/techaccecho/flutter-apps/blob/main/blog/middleware.js): `blog/middleware.js`

### Template app shell

- [Linux entry](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/main.cc): `flutter_template/linux/runner/main.cc`
- [Linux app host](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/my_application.cc): `flutter_template/linux/runner/my_application.cc`
- [Linux host API](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/runner/my_application.h): `flutter_template/linux/runner/my_application.h`
- [Windows entry](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/main.cpp): `flutter_template/windows/runner/main.cpp`
- [Windows Flutter host](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/flutter_window.cpp): `flutter_template/windows/runner/flutter_window.cpp`

### Native platform hosts

- [Win32 window](https://github.com/techaccecho/flutter-apps/blob/main/blog/windows/runner/win32_window.cpp): `blog/windows/runner/win32_window.cpp`
- [Linux plugin API](https://github.com/techaccecho/flutter-apps/blob/main/blog/linux/flutter/generated_plugin_registrant.h): `blog/linux/flutter/generated_plugin_registrant.h`
- [Win32 window](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/runner/win32_window.cpp): `flutter_template/windows/runner/win32_window.cpp`
- [Linux plugin API](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/linux/flutter/generated_plugin_registrant.h): `flutter_template/linux/flutter/generated_plugin_registrant.h`
- [Windows plugin API](https://github.com/techaccecho/flutter-apps/blob/main/flutter_template/windows/flutter/generated_plugin_registrant.h): `flutter_template/windows/flutter/generated_plugin_registrant.h`

## Connections

- Linux entry → Linux app host: creates and runs (evidence: `blog/linux/runner/main.cc`)
- Windows entry → Windows Flutter host: creates (evidence: `blog/windows/runner/main.cpp`)
- Windows entry → Windows Flutter host: runs message loop (evidence: `blog/windows/runner/main.cpp`)
- Linux entry → Linux app host: creates and runs (evidence: `flutter_template/linux/runner/main.cc`)
- Windows entry → Windows Flutter host: creates (evidence: `flutter_template/windows/runner/main.cpp`)
- Windows entry → Windows Flutter host: runs message loop (evidence: `flutter_template/windows/runner/main.cpp`)
