# baustcse/hello-flutter architecture

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

- Interactive diagram: https://gitdiagram.com/baustcse/hello-flutter
- Repository: https://github.com/baustcse/hello-flutter

## Overview

This is a Flutter application whose Dart sources indicate a collection of student utilities: CGPA calculation, course cards, a course page, maps, routines, study timing, and weather tables. The likely user workflow is to launch the app and use these screens, but the generic README and unavailable Dart excerpts do not establish navigation or calls between them. The graph therefore shows the identifiable app modules and sampled native launch/hosting code without inventing a screen flow.

Main entry points: [`windows/runner/flutter_window.h`](https://github.com/baustcse/hello-flutter/blob/main/windows/runner/flutter_window.h) (Flutter window), [`linux/runner/main.cc`](https://github.com/baustcse/hello-flutter/blob/main/linux/runner/main.cc) (Linux entry), [`windows/runner/main.cpp`](https://github.com/baustcse/hello-flutter/blob/main/windows/runner/main.cpp) (Windows entry), [`linux/runner/my_application.h`](https://github.com/baustcse/hello-flutter/blob/main/linux/runner/my_application.h) (Linux app host)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_dart_app["Flutter app"]
  node_dart_entry["Dart entry<br/>[main.dart]"]
  node_app_main["App main<br/>[app_main.dart]"]
  node_cgpa["CGPA calculator"]
  node_course_cards["Course cards"]
  node_cse_page["CSE course page<br/>[cse3100_page.dart]"]
  node_map["Map page<br/>[map_page.dart]"]
  node_routine["Routine table"]
  node_timer["Study timer<br/>[study_timer.dart]"]
  node_weather["Weather table"]
end

subgraph group_native_hosts["Native hosts"]
  node_linux_entry["Linux entry<br/>[main.cc]"]
  node_linux_app["Linux app host<br/>[my_application.h]"]
  node_windows_entry["Windows entry<br/>[main.cpp]"]
  node_flutter_window["Flutter window<br/>[flutter_window.h]"]
  node_win32_window["Win32 window<br/>[win32_window.h]"]
end

node_user(("App user"))

node_linux_entry -->|"creates and runs"| node_linux_app
node_windows_entry -->|"creates"| node_flutter_window
node_flutter_window -->|"inherits from"| node_win32_window

click node_dart_entry "https://github.com/baustcse/hello-flutter/blob/main/lib/main.dart"
click node_app_main "https://github.com/baustcse/hello-flutter/blob/main/app_main.dart"
click node_cgpa "https://github.com/baustcse/hello-flutter/blob/main/lib/cgpa_calculator.dart"
click node_course_cards "https://github.com/baustcse/hello-flutter/blob/main/lib/course_cards_page.dart"
click node_cse_page "https://github.com/baustcse/hello-flutter/blob/main/lib/cse3100_page.dart"
click node_map "https://github.com/baustcse/hello-flutter/blob/main/lib/map_page.dart"
click node_routine "https://github.com/baustcse/hello-flutter/blob/main/lib/routine_table_page.dart"
click node_timer "https://github.com/baustcse/hello-flutter/blob/main/lib/study_timer.dart"
click node_weather "https://github.com/baustcse/hello-flutter/blob/main/lib/weather_table_page.dart"
click node_linux_entry "https://github.com/baustcse/hello-flutter/blob/main/linux/runner/main.cc"
click node_linux_app "https://github.com/baustcse/hello-flutter/blob/main/linux/runner/my_application.h"
click node_windows_entry "https://github.com/baustcse/hello-flutter/blob/main/windows/runner/main.cpp"
click node_flutter_window "https://github.com/baustcse/hello-flutter/blob/main/windows/runner/flutter_window.h"
click node_win32_window "https://github.com/baustcse/hello-flutter/blob/main/windows/runner/win32_window.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_dart_entry,node_app_main,node_cgpa,node_course_cards,node_cse_page,node_map,node_routine,node_timer,node_weather,node_user toneBlue
class node_linux_entry,node_linux_app,node_windows_entry,node_flutter_window,node_win32_window toneAmber
```

## Components

### Flutter app

- [Dart entry](https://github.com/baustcse/hello-flutter/blob/main/lib/main.dart): `lib/main.dart`
- [App main](https://github.com/baustcse/hello-flutter/blob/main/app_main.dart): `app_main.dart`
- [CGPA calculator](https://github.com/baustcse/hello-flutter/blob/main/lib/cgpa_calculator.dart): `lib/cgpa_calculator.dart`
- [Course cards](https://github.com/baustcse/hello-flutter/blob/main/lib/course_cards_page.dart): `lib/course_cards_page.dart`
- [CSE course page](https://github.com/baustcse/hello-flutter/blob/main/lib/cse3100_page.dart): `lib/cse3100_page.dart`
- [Map page](https://github.com/baustcse/hello-flutter/blob/main/lib/map_page.dart): `lib/map_page.dart`
- [Routine table](https://github.com/baustcse/hello-flutter/blob/main/lib/routine_table_page.dart): `lib/routine_table_page.dart`
- [Study timer](https://github.com/baustcse/hello-flutter/blob/main/lib/study_timer.dart): `lib/study_timer.dart`
- [Weather table](https://github.com/baustcse/hello-flutter/blob/main/lib/weather_table_page.dart): `lib/weather_table_page.dart`

### Native hosts

- [Linux entry](https://github.com/baustcse/hello-flutter/blob/main/linux/runner/main.cc): `linux/runner/main.cc`
- [Linux app host](https://github.com/baustcse/hello-flutter/blob/main/linux/runner/my_application.h): `linux/runner/my_application.h`
- [Windows entry](https://github.com/baustcse/hello-flutter/blob/main/windows/runner/main.cpp): `windows/runner/main.cpp`
- [Flutter window](https://github.com/baustcse/hello-flutter/blob/main/windows/runner/flutter_window.h): `windows/runner/flutter_window.h`
- [Win32 window](https://github.com/baustcse/hello-flutter/blob/main/windows/runner/win32_window.h): `windows/runner/win32_window.h`

### Other components

- **App user**

## Connections

- Linux entry → Linux app host: creates and runs (evidence: `linux/runner/main.cc`)
- Windows entry → Flutter window: creates (evidence: `windows/runner/main.cpp`)
- Flutter window → Win32 window: inherits from (evidence: `windows/runner/flutter_window.h`)
