# aiglonse9315-hue/mygamingtips-admin architecture

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

- Interactive diagram: https://gitdiagram.com/aiglonse9315-hue/mygamingtips-admin
- Repository: https://github.com/aiglonse9315-hue/mygamingtips-admin

## Overview

This repository appears to be a Flutter administration panel for MyGamingTips, with login and screens for managing content, games, suggestions, users, bans, trusted channels, limits, and analytics. The tree suggests a shared store/controller and Supabase integration layer, but the README is only Flutter boilerplate and no Dart source was sampled; links among those subsystems are therefore omitted. The sampled catalog function explicitly identifies itself as a frozen, non-deployable reference, so it is not represented as an active runtime component.

Main entry points: [`lib/ui/screens/analytics_screen.dart`](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/analytics_screen.dart) (Analytics), [`lib/main.dart`](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/main.dart) (App entry), [`supabase/admin_login_function.ts`](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/supabase/admin_login_function.ts) (Login function), [`lib/app.dart`](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/app.dart) (Application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Flutter app"]
  node_main["App entry<br/>[main.dart]"]
  node_app["Application<br/>[app.dart]"]
end

subgraph group_identity["Admin identity"]
  node_login["Login screen<br/>[login_screen.dart]"]
  node_authcontroller["Auth controller"]
  node_authservice["Auth service<br/>[auth_service.dart]"]
  node_loginfunction["Login function"]
end

subgraph group_management["Administration"]
  node_shell["Admin shell<br/>[admin_shell.dart]"]
  node_dashboard["Dashboard"]
  node_contents["Content management"]
  node_games["Game management<br/>[games_screen.dart]"]
  node_suggestions["Suggestion review"]
  node_sentinelle["Sentinelle"]
  node_scruteur["Scruteur"]
  node_banned["Banned records<br/>[banned_screen.dart]"]
  node_trusted["Trusted channels"]
  node_users["Admin users"]
  node_subscriptions["Subscriptions"]
  node_limits["Limits"]
  node_analytics["Analytics"]
  node_logs["Logs<br/>[logs_screen.dart]"]
  node_contributors["Contributors"]
end

subgraph group_services["Data services"]
  node_storecontroller["Store controller"]
  node_store["Application store<br/>[store.dart]"]
  node_sync["Supabase sync<br/>[supabase_sync.dart]"]
  node_supabase[("Supabase database")]
  node_analyticscalc["Analytics calculations"]
  node_analyticsexport["Analytics export"]
end

node_admin(("Administrator"))

node_admin -->|"opens"| node_main
node_main -->|"starts"| node_app
node_admin -->|"signs in"| node_login
node_admin -->|"administers"| node_shell
node_analytics -->|"calculates"| node_analyticscalc
node_analytics -->|"exports"| node_analyticsexport
node_loginfunction -->|"checks limits; logs attempts"| node_supabase

click node_main "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/main.dart"
click node_app "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/app.dart"
click node_shell "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/admin_shell.dart"
click node_login "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/login_screen.dart"
click node_authcontroller "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/core/auth/auth_controller.dart"
click node_authservice "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/core/auth/auth_service.dart"
click node_loginfunction "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/supabase/admin_login_function.ts"
click node_storecontroller "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/state/store_controller.dart"
click node_store "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/data/store.dart"
click node_sync "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/data/supabase_sync.dart"
click node_dashboard "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/dashboard_screen.dart"
click node_contents "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/contents_screen.dart"
click node_games "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/games_screen.dart"
click node_suggestions "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/suggestions_screen.dart"
click node_sentinelle "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/sentinelle_screen.dart"
click node_scruteur "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/scruteur_screen.dart"
click node_banned "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/banned_screen.dart"
click node_trusted "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/trusted_channels_screen.dart"
click node_users "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/admin_users_screen.dart"
click node_subscriptions "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/abonnements_screen.dart"
click node_limits "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/limites_screen.dart"
click node_analytics "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/analytics_screen.dart"
click node_analyticscalc "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/domain/analytics_calc.dart"
click node_analyticsexport "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/domain/analytics_export.dart"
click node_logs "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/logs_screen.dart"
click node_contributors "https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/contributors_screen.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_main,node_app toneBlue
class node_login,node_authcontroller,node_authservice,node_loginfunction toneAmber
class node_shell,node_dashboard,node_contents,node_games,node_suggestions,node_sentinelle,node_scruteur,node_banned,node_trusted,node_users,node_subscriptions,node_limits,node_analytics,node_logs,node_contributors toneMint
class node_storecontroller,node_store,node_sync,node_supabase,node_analyticscalc,node_analyticsexport toneRose
class node_admin toneIndigo
```

## Components

### Flutter app

- [App entry](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/main.dart): `lib/main.dart`
- [Application](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/app.dart): `lib/app.dart`

### Admin identity

- [Login screen](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/login_screen.dart): `lib/ui/screens/login_screen.dart`
- [Auth controller](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/core/auth/auth_controller.dart): `lib/core/auth/auth_controller.dart`
- [Auth service](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/core/auth/auth_service.dart): `lib/core/auth/auth_service.dart`
- [Login function](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/supabase/admin_login_function.ts): `supabase/admin_login_function.ts`

### Administration

- [Admin shell](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/admin_shell.dart): `lib/ui/screens/admin_shell.dart`
- [Dashboard](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/dashboard_screen.dart): `lib/ui/screens/dashboard_screen.dart`
- [Content management](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/contents_screen.dart): `lib/ui/screens/contents_screen.dart`
- [Game management](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/games_screen.dart): `lib/ui/screens/games_screen.dart`
- [Suggestion review](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/suggestions_screen.dart): `lib/ui/screens/suggestions_screen.dart`
- [Sentinelle](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/sentinelle_screen.dart): `lib/ui/screens/sentinelle_screen.dart`
- [Scruteur](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/scruteur_screen.dart): `lib/ui/screens/scruteur_screen.dart`
- [Banned records](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/banned_screen.dart): `lib/ui/screens/banned_screen.dart`
- [Trusted channels](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/trusted_channels_screen.dart): `lib/ui/screens/trusted_channels_screen.dart`
- [Admin users](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/admin_users_screen.dart): `lib/ui/screens/admin_users_screen.dart`
- [Subscriptions](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/abonnements_screen.dart): `lib/ui/screens/abonnements_screen.dart`
- [Limits](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/limites_screen.dart): `lib/ui/screens/limites_screen.dart`
- [Analytics](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/analytics_screen.dart): `lib/ui/screens/analytics_screen.dart`
- [Logs](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/logs_screen.dart): `lib/ui/screens/logs_screen.dart`
- [Contributors](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/ui/screens/contributors_screen.dart): `lib/ui/screens/contributors_screen.dart`

### Data services

- [Store controller](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/state/store_controller.dart): `lib/state/store_controller.dart`
- [Application store](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/data/store.dart): `lib/data/store.dart`
- [Supabase sync](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/data/supabase_sync.dart): `lib/data/supabase_sync.dart`
- **Supabase database**
- [Analytics calculations](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/domain/analytics_calc.dart): `lib/domain/analytics_calc.dart`
- [Analytics export](https://github.com/aiglonse9315-hue/mygamingtips-admin/blob/main/lib/domain/analytics_export.dart): `lib/domain/analytics_export.dart`

### Other components

- **Administrator**

## Connections

- Administrator → App entry: opens
- App entry → Application: starts
- Administrator → Login screen: signs in
- Administrator → Admin shell: administers
- Analytics → Analytics calculations: calculates
- Analytics → Analytics export: exports
- Login function → Supabase database: checks limits; logs attempts
