# abid-abdi/flutter_e-voting_using_qr_code architecture

> Architecture diagram of the GitHub repository abid-abdi/flutter_e-voting_using_qr_code, 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/abid-abdi/flutter_e-voting_using_qr_code
- Repository: https://github.com/abid-abdi/flutter_e-voting_using_qr_code

## Overview

The repository appears to be a Flutter QR-based e-voting application, with separate admin and voter screens, voting/history/results features, and Firebase configuration. The README is only the Flutter starter template, and the sampled source contains no Dart application code; therefore, screen-to-provider wiring and Firebase data flows cannot be verified. The map reflects the product areas indicated by the file tree without asserting those uncertain connections.

Main entry points: [`lib/screens/login_screen.dart`](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/login_screen.dart) (Login), [`lib/screens/voter/dashboard_voter_screen.dart`](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/dashboard_voter_screen.dart) (Voter dashboard), [`lib/screens/admin/dashboard_admin_screen.dart`](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/dashboard_admin_screen.dart) (Admin dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Flutter application"]
  node_login["Login<br/>[login_screen.dart]"]
end

subgraph group_voter["Voter workflow"]
  node_voter_dashboard["Voter dashboard"]
  node_qr_scan["QR scanning"]
  node_voting["Voting<br/>[voting_screen.dart]"]
  node_vote_confirm["Vote confirmation"]
  node_history["Vote history"]
end

subgraph group_admin["Admin workflow"]
  node_admin_dashboard["Admin dashboard"]
  node_event_create["Event creation"]
  node_event_edit["Event editing"]
  node_event_detail["Event details"]
  node_qr_generate["QR generation"]
  node_results["Voting results"]
  node_event_results["Event results"]
end

subgraph group_services["Backend and domain"]
  node_providers["State providers"]
  node_models["Domain models"]
  node_firebase["Firebase services"]
end

node_voter_actor(("Voter"))
node_admin_actor(("Administrator"))
node_firestore[("Cloud Firestore")]
node_storage[("Firebase Storage")]

node_voter_actor -->|"signs in"| node_login
node_admin_actor -->|"signs in"| node_login
node_voter_actor -->|"uses"| node_voter_dashboard
node_admin_actor -->|"uses"| node_admin_dashboard

click node_login "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/login_screen.dart"
click node_voter_dashboard "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/dashboard_voter_screen.dart"
click node_qr_scan "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/qr_scanner_screen.dart"
click node_voting "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/voting_screen.dart"
click node_vote_confirm "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/confirm_vote_screen.dart"
click node_history "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/history_screen.dart"
click node_admin_dashboard "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/dashboard_admin_screen.dart"
click node_event_create "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/create_event_screen.dart"
click node_event_edit "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/edit_event_screen.dart"
click node_event_detail "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/event_detail_screen.dart"
click node_qr_generate "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/qr_generate_screen.dart"
click node_results "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/voting_results_screen.dart"
click node_event_results "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/event_voting_results_screen.dart"
click node_providers "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/tree/main/lib/providers"
click node_models "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/tree/main/lib/models"
click node_firebase "https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/firebase_options.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_login toneBlue
class node_voter_dashboard,node_qr_scan,node_voting,node_vote_confirm,node_history,node_firestore,node_storage toneAmber
class node_admin_dashboard,node_event_create,node_event_edit,node_event_detail,node_qr_generate,node_results,node_event_results toneMint
class node_providers,node_models,node_firebase toneRose
class node_voter_actor,node_admin_actor toneIndigo
```

## Components

### Flutter application

- [Login](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/login_screen.dart): `lib/screens/login_screen.dart`

### Voter workflow

- [Voter dashboard](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/dashboard_voter_screen.dart): `lib/screens/voter/dashboard_voter_screen.dart`
- [QR scanning](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/qr_scanner_screen.dart): `lib/screens/voter/qr_scanner_screen.dart`
- [Voting](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/voting_screen.dart): `lib/screens/voter/voting_screen.dart`
- [Vote confirmation](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/confirm_vote_screen.dart): `lib/screens/voter/confirm_vote_screen.dart`
- [Vote history](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/voter/history_screen.dart): `lib/screens/voter/history_screen.dart`

### Admin workflow

- [Admin dashboard](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/dashboard_admin_screen.dart): `lib/screens/admin/dashboard_admin_screen.dart`
- [Event creation](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/create_event_screen.dart): `lib/screens/admin/create_event_screen.dart`
- [Event editing](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/edit_event_screen.dart): `lib/screens/admin/edit_event_screen.dart`
- [Event details](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/event_detail_screen.dart): `lib/screens/admin/event_detail_screen.dart`
- [QR generation](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/qr_generate_screen.dart): `lib/screens/admin/qr_generate_screen.dart`
- [Voting results](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/voting_results_screen.dart): `lib/screens/admin/voting_results_screen.dart`
- [Event results](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/screens/admin/event_voting_results_screen.dart): `lib/screens/admin/event_voting_results_screen.dart`

### Backend and domain

- [State providers](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/tree/main/lib/providers): `lib/providers`
- [Domain models](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/tree/main/lib/models): `lib/models`
- [Firebase services](https://github.com/abid-abdi/flutter_e-voting_using_qr_code/blob/main/lib/firebase_options.dart): `lib/firebase_options.dart`

### Other components

- **Voter**
- **Administrator**
- **Cloud Firestore**
- **Firebase Storage**

## Connections

- Voter → Login: signs in
- Administrator → Login: signs in
- Voter → Voter dashboard: uses
- Administrator → Admin dashboard: uses
