# johncarloalfante5-source/erelax-app architecture

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

- Interactive diagram: https://gitdiagram.com/johncarloalfante5-source/erelax-app
- Repository: https://github.com/johncarloalfante5-source/erelax-app

## Overview

This is a Flutter cross-platform eRelax app whose visible product areas cover service discovery, therapist appointment booking, sign-up/login, and administration. The likely user journey is browsing services, selecting a therapist, date and time, then booking; the tree also identifies a booking store and reusable navigation/UI layers. The README is generic and the Dart implementation was not sampled, so screen-to-screen calls and persistence behavior cannot be verified. Native runner components are included because the source index marks them as core modules.

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

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_product["Product screens"]
  node_services["Service discovery"]
  node_service_widgets["Service widgets"]
  node_booking["Appointment booking"]
  node_booking_widgets["Booking widgets"]
  node_auth["Sign-up and login"]
  node_auth_widgets["Auth widgets"]
  node_admin_login["Admin login"]
  node_admin_dashboard["Admin dashboard"]
end

subgraph group_shared["Shared app layer"]
  node_booking_store["Booking store<br/>[booking_store.dart]"]
  node_app_entry["App entry<br/>[main.dart]"]
  node_routes["App routes<br/>[app_routes.dart]"]
  node_theme["App theme<br/>[app_theme.dart]"]
  node_shared_widgets["Shared widgets"]
  node_app_scaffold["App scaffold<br/>[app_scaffold.dart]"]
  node_app_navigation["App navigation"]
  node_app_exports["Core exports<br/>[app_export.dart]"]
end

subgraph group_platform["Platform hosts"]
  node_android_host["Android host<br/>[MainActivity.kt]"]
  node_ios_host["iOS host<br/>[AppDelegate.swift]"]
  node_linux_host["Linux host<br/>[my_application.h]"]
  node_linux_entry["Linux entry<br/>[main.cc]"]
  node_linux_plugins["Linux plugin registrar"]
  node_macos_plugins["macOS plugin registrar"]
  node_windows_entry["Windows entry<br/>[main.cpp]"]
  node_windows_flutter["Windows Flutter window<br/>[flutter_window.h]"]
  node_windows_native["Windows window<br/>[win32_window.h]"]
  node_windows_utils["Windows utilities<br/>[utils.h]"]
  node_windows_plugins["Windows plugin registrar"]
end

node_linux_entry -->|"creates app"| node_linux_host
node_windows_entry -->|"creates window"| node_windows_flutter
node_windows_entry -->|"gets arguments"| node_windows_utils
node_windows_flutter -->|"extends"| node_windows_native

click node_services "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/service_screen/services_screen.dart"
click node_service_widgets "https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/service_screen/widgets"
click node_booking "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/booking_screen/booking-screen.dart"
click node_booking_widgets "https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/booking_screen/widgets"
click node_auth "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/sign_up_login_screen/sign_up_login_screen.dart"
click node_auth_widgets "https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/sign_up_login_screen/widgets"
click node_admin_login "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/admin_dashboard/admin_login_screen.dart"
click node_admin_dashboard "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/admin_dashboard/admin_dashboard_screen.dart"
click node_booking_store "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/core/booking_store.dart"
click node_app_entry "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/main.dart"
click node_routes "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/routes/app_routes.dart"
click node_theme "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/theme/app_theme.dart"
click node_shared_widgets "https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/widgets"
click node_app_scaffold "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/widgets/app_scaffold.dart"
click node_app_navigation "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/widgets/app_navigation.dart"
click node_app_exports "https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/core/app_export.dart"
click node_android_host "https://github.com/johncarloalfante5-source/erelax-app/blob/master/android/app/src/main/kotlin/com/example/flutter_erelax/MainActivity.kt"
click node_ios_host "https://github.com/johncarloalfante5-source/erelax-app/blob/master/ios/Runner/AppDelegate.swift"
click node_linux_host "https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/runner/my_application.h"
click node_linux_entry "https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/runner/main.cc"
click node_linux_plugins "https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/flutter/generated_plugin_registrant.h"
click node_macos_plugins "https://github.com/johncarloalfante5-source/erelax-app/blob/master/macos/Flutter/GeneratedPluginRegistrant.swift"
click node_windows_entry "https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/main.cpp"
click node_windows_flutter "https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/flutter_window.h"
click node_windows_native "https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/win32_window.h"
click node_windows_utils "https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/utils.h"
click node_windows_plugins "https://github.com/johncarloalfante5-source/erelax-app/blob/master/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_services,node_service_widgets,node_booking,node_booking_widgets,node_auth,node_auth_widgets,node_admin_login,node_admin_dashboard toneBlue
class node_booking_store,node_app_entry,node_routes,node_theme,node_shared_widgets,node_app_scaffold,node_app_navigation,node_app_exports toneAmber
class node_android_host,node_ios_host,node_linux_host,node_linux_entry,node_linux_plugins,node_macos_plugins,node_windows_entry,node_windows_flutter,node_windows_native,node_windows_utils,node_windows_plugins toneMint
```

## Components

### Product screens

- [Service discovery](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/service_screen/services_screen.dart): `lib/presentation/service_screen/services_screen.dart`
- [Service widgets](https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/service_screen/widgets): `lib/presentation/service_screen/widgets`
- [Appointment booking](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/booking_screen/booking-screen.dart): `lib/presentation/booking_screen/booking-screen.dart`
- [Booking widgets](https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/booking_screen/widgets): `lib/presentation/booking_screen/widgets`
- [Sign-up and login](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/sign_up_login_screen/sign_up_login_screen.dart): `lib/presentation/sign_up_login_screen/sign_up_login_screen.dart`
- [Auth widgets](https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/presentation/sign_up_login_screen/widgets): `lib/presentation/sign_up_login_screen/widgets`
- [Admin login](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/admin_dashboard/admin_login_screen.dart): `lib/presentation/admin_dashboard/admin_login_screen.dart`
- [Admin dashboard](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/presentation/admin_dashboard/admin_dashboard_screen.dart): `lib/presentation/admin_dashboard/admin_dashboard_screen.dart`

### Shared app layer

- [Booking store](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/core/booking_store.dart): `lib/core/booking_store.dart`
- [App entry](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/main.dart): `lib/main.dart`
- [App routes](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/routes/app_routes.dart): `lib/routes/app_routes.dart`
- [App theme](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/theme/app_theme.dart): `lib/theme/app_theme.dart`
- [Shared widgets](https://github.com/johncarloalfante5-source/erelax-app/tree/master/lib/widgets): `lib/widgets`
- [App scaffold](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/widgets/app_scaffold.dart): `lib/widgets/app_scaffold.dart`
- [App navigation](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/widgets/app_navigation.dart): `lib/widgets/app_navigation.dart`
- [Core exports](https://github.com/johncarloalfante5-source/erelax-app/blob/master/lib/core/app_export.dart): `lib/core/app_export.dart`

### Platform hosts

- [Android host](https://github.com/johncarloalfante5-source/erelax-app/blob/master/android/app/src/main/kotlin/com/example/flutter_erelax/MainActivity.kt): `android/app/src/main/kotlin/com/example/flutter_erelax/MainActivity.kt`
- [iOS host](https://github.com/johncarloalfante5-source/erelax-app/blob/master/ios/Runner/AppDelegate.swift): `ios/Runner/AppDelegate.swift`
- [Linux host](https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/runner/my_application.h): `linux/runner/my_application.h`
- [Linux entry](https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/runner/main.cc): `linux/runner/main.cc`
- [Linux plugin registrar](https://github.com/johncarloalfante5-source/erelax-app/blob/master/linux/flutter/generated_plugin_registrant.h): `linux/flutter/generated_plugin_registrant.h`
- [macOS plugin registrar](https://github.com/johncarloalfante5-source/erelax-app/blob/master/macos/Flutter/GeneratedPluginRegistrant.swift): `macos/Flutter/GeneratedPluginRegistrant.swift`
- [Windows entry](https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/main.cpp): `windows/runner/main.cpp`
- [Windows Flutter window](https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/flutter_window.h): `windows/runner/flutter_window.h`
- [Windows window](https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/win32_window.h): `windows/runner/win32_window.h`
- [Windows utilities](https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/runner/utils.h): `windows/runner/utils.h`
- [Windows plugin registrar](https://github.com/johncarloalfante5-source/erelax-app/blob/master/windows/flutter/generated_plugin_registrant.h): `windows/flutter/generated_plugin_registrant.h`

## Connections

- Linux entry → Linux host: creates app (evidence: `linux/runner/main.cc`)
- Windows entry → Windows Flutter window: creates window (evidence: `windows/runner/main.cpp`)
- Windows entry → Windows utilities: gets arguments (evidence: `windows/runner/main.cpp`)
- Windows Flutter window → Windows window: extends (evidence: `windows/runner/flutter_window.h`)
