# azizcayirogluu/mobilfarkindalikuygulamasi architecture

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

## Overview

Siber Dost is a Flutter app for helping children and teens learn about bullying and digital safety. A user enters the app, explores learning content and interactive activities, can seek guidance from the assistant or safety resources, and can submit incident reports. The README documents Firebase-backed AI, identity and data safeguards, and reporting capabilities; source excerpts do not expose the Dart app’s routing or service calls, so those links are based on documented capabilities rather than inspected call sites.

Main entry points: [`lib/main.dart`](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/main.dart) (Flutter App), [`lib/screens/siber_asistan_ekrani.dart`](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_asistan_ekrani.dart) (Cyber Assistant), [`lib/services/report_service.dart`](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/services/report_service.dart) (Incident Reporting), [`functions/index.js`](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/functions/index.js) (Cloud Functions)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Learning and Play"]
  node_app["Flutter App<br/>[main.dart]"]
  node_scenarios["Interactive Scenarios"]
  node_detective["Cyber Detective"]
  node_stories["Stories and Video"]
  node_progress["Progress and Badges"]
end

subgraph group_support["Safety and Support"]
  node_guide["Safety Guide"]
  node_help["Emergency Help"]
  node_report["Incident Reporting"]
  node_assistant["Cyber Assistant"]
  node_offline["Offline AI Engine"]
end

subgraph group_backend["Backend and AI"]
  node_cloud["Cloud Functions<br/>[index.js]"]
  node_gemini["Gemini API"]
  node_firebase["Firebase Services"]
  node_scenario_data["Scenario Repository"]
  node_content_data["Content Repository"]
  node_store[("Firestore")]
end

subgraph group_operations["Accounts and Operations"]
  node_admin["Admin Panel<br/>[admin_home.dart]"]
  node_auth["User Accounts"]
  node_ads["Rewarded Ads"]
end

node_learner(("Child or Teen"))

node_learner -->|"uses"| node_app
node_app -->|"opens"| node_scenarios
node_app -->|"opens"| node_detective
node_app -->|"opens"| node_stories
node_app -->|"tracks"| node_progress
node_app -->|"opens"| node_guide
node_app -->|"opens"| node_help
node_app -->|"opens"| node_assistant
node_assistant -->|"requests guidance"| node_cloud
node_cloud -->|"requests AI"| node_gemini
node_assistant -->|"uses offline rules"| node_offline
node_app -.->|"loads scenarios"| node_scenario_data
node_app -.->|"loads content"| node_content_data
node_scenario_data -.->|"reads data"| node_store
node_content_data -.->|"reads data"| node_store
node_app -->|"offers sign-in"| node_auth
node_auth -->|"authenticates"| node_firebase
node_app -->|"submits report"| node_report
node_report -.->|"stores report"| node_store
node_admin -.->|"manages records"| node_store
node_app -->|"offers rewarded ads"| node_ads
node_app -->|"uses app safeguards"| node_firebase

click node_app "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/main.dart"
click node_scenarios "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/senaryo_detay_ekrani.dart"
click node_detective "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_dedektif_oyunu.dart"
click node_stories "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/hikaye_detay_ekrani.dart"
click node_progress "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/models/user_progress_model.dart"
click node_guide "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/guvenlik_rehberi_ekrani.dart"
click node_help "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_imdat_ekrani.dart"
click node_report "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/services/report_service.dart"
click node_assistant "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_asistan_ekrani.dart"
click node_offline "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/core/ai/offline_ai_engine.dart"
click node_cloud "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/functions/index.js"
click node_scenario_data "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/repositories/scenario_repository_impl.dart"
click node_content_data "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/repositories/content_repository_impl.dart"
click node_admin "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/admin_panel/admin_home.dart"
click node_auth "https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/giris_yapma_ekrani.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_app,node_scenarios,node_detective,node_stories,node_progress toneBlue
class node_guide,node_help,node_report,node_assistant,node_offline toneAmber
class node_cloud,node_gemini,node_firebase,node_scenario_data,node_content_data,node_store toneMint
class node_admin,node_auth,node_ads toneRose
class node_learner toneIndigo
```

## Components

### Learning and Play

- [Flutter App](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/main.dart): `lib/main.dart`
- [Interactive Scenarios](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/senaryo_detay_ekrani.dart): `lib/screens/senaryo_detay_ekrani.dart`
- [Cyber Detective](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_dedektif_oyunu.dart): `lib/screens/siber_dedektif_oyunu.dart`
- [Stories and Video](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/hikaye_detay_ekrani.dart): `lib/screens/hikaye_detay_ekrani.dart`
- [Progress and Badges](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/models/user_progress_model.dart): `lib/data/models/user_progress_model.dart`

### Safety and Support

- [Safety Guide](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/guvenlik_rehberi_ekrani.dart): `lib/screens/guvenlik_rehberi_ekrani.dart`
- [Emergency Help](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_imdat_ekrani.dart): `lib/screens/siber_imdat_ekrani.dart`
- [Incident Reporting](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/services/report_service.dart): `lib/services/report_service.dart`
- [Cyber Assistant](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/siber_asistan_ekrani.dart): `lib/screens/siber_asistan_ekrani.dart`
- [Offline AI Engine](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/core/ai/offline_ai_engine.dart): `lib/core/ai/offline_ai_engine.dart`

### Backend and AI

- [Cloud Functions](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/functions/index.js): `functions/index.js`
- **Gemini API**
- **Firebase Services**
- [Scenario Repository](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/repositories/scenario_repository_impl.dart): `lib/data/repositories/scenario_repository_impl.dart`
- [Content Repository](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/data/repositories/content_repository_impl.dart): `lib/data/repositories/content_repository_impl.dart`
- **Firestore**

### Accounts and Operations

- [Admin Panel](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/admin_panel/admin_home.dart): `lib/admin_panel/admin_home.dart`
- [User Accounts](https://github.com/azizcayirogluu/mobilfarkindalikuygulamasi/blob/main/lib/screens/giris_yapma_ekrani.dart): `lib/screens/giris_yapma_ekrani.dart`
- **Rewarded Ads**

### Other components

- **Child or Teen**

## Connections

- Child or Teen → Flutter App: uses (evidence: `README.md`)
- Flutter App → Interactive Scenarios: opens (evidence: `README.md`)
- Flutter App → Cyber Detective: opens (evidence: `README.md`)
- Flutter App → Stories and Video: opens (evidence: `README.md`)
- Flutter App → Progress and Badges: tracks (evidence: `README.md`)
- Flutter App → Safety Guide: opens (evidence: `README.md`)
- Flutter App → Emergency Help: opens (evidence: `README.md`)
- Flutter App → Cyber Assistant: opens (evidence: `README.md`)
- Cyber Assistant → Cloud Functions: requests guidance (evidence: `README.md`)
- Cloud Functions → Gemini API: requests AI (evidence: `README.md`)
- Cyber Assistant → Offline AI Engine: uses offline rules (evidence: `README.md`)
- Flutter App → Scenario Repository: loads scenarios
- Flutter App → Content Repository: loads content
- Scenario Repository → Firestore: reads data
- Content Repository → Firestore: reads data
- Flutter App → User Accounts: offers sign-in (evidence: `README.md`)
- User Accounts → Firebase Services: authenticates (evidence: `README.md`)
- Flutter App → Incident Reporting: submits report (evidence: `README.md`)
- Incident Reporting → Firestore: stores report
- Admin Panel → Firestore: manages records
- Flutter App → Rewarded Ads: offers rewarded ads (evidence: `README.md`)
- Flutter App → Firebase Services: uses app safeguards (evidence: `README.md`)
