DobariyaHarsh/Flutter-based-Smart-Emergency-Response-Incident-Reporting-App3
GitHub: DobariyaHarsh/Flutter-based-Smart-Emergency-Response-Incident-Reporting-App3
一款基于 Flutter 的离线优先移动应用,用于报告、跟踪和管理紧急事件,支持优先级排序、管理员仪表板和数据可视化。
Stars: 0 | Forks: 0
# 🚨 RespondNow — 智能应急响应与事件报告应用
一款基于 Flutter 的移动应用,用于报告、跟踪和管理紧急事件,并提供**离线优先**支持。
## 📁 项目结构
```
lib/
├── main.dart # App entry point
├── models/
│ └── incident_model.dart # Incident data model + enums
├── providers/
│ ├── incident_provider.dart # Incident state management (Provider)
│ └── app_provider.dart # Connectivity + admin mode state
├── services/
│ └── hive_service.dart # Hive local storage (offline-first)
├── utils/
│ ├── app_theme.dart # Dark theme + color system
│ ├── constants.dart # Responders list, locations, admin PIN
│ └── helpers.dart # Date formatting, snackbars, dialogs
├── screens/
│ ├── splash_screen.dart # Animated splash (Screen 0)
│ ├── main_navigation_screen.dart # Bottom nav shell
│ ├── home_screen.dart # Dashboard (Screen 1)
│ ├── report_incident_screen.dart # Report form (Screen 2)
│ ├── incident_list_screen.dart # Incident list (Screen 3)
│ ├── incident_detail_screen.dart # Detail view (Screen 4)
│ ├── admin_dashboard_screen.dart # Admin panel (Screen 5)
│ └── search_filter_screen.dart # Search & filter (Screen 6)
└── widgets/
├── incident_card.dart # Reusable incident card
├── priority_badge.dart # Color-coded priority badge
├── status_chip.dart # Status indicator chip
└── stat_card.dart # Dashboard stat card
```
## 🛠️ 设置说明
### 前置条件
- Flutter SDK ≥ 3.4.0
- Dart SDK ≥ 3.4.0
- Android Studio / VS Code 并安装 Flutter 扩展
### 步骤
1. 在此目录下**创建一个新的 Flutter 项目**:
flutter create --org com.emergency --project-name emergency_response_app .
2. 使用提供的文件**替换** `pubspec.yaml`(已完成)。
3. 使用提供的文件**替换** `android/app/build.gradle`(已完成)——设置 `minSdk 21`。
4. **安装依赖:**
flutter pub get
5. **运行应用:**
flutter run
## ✨ 功能
| 功能 | 详细说明 |
|---|---|
| **事件报告** | 标题、描述、类别(6种)、优先级(4级)、位置(手动 + 模拟 GPS) |
| **唯一事件 ID** | 自动生成格式:`INC-YYYY-XXXXXXXX` |
| **事件跟踪** | 状态:已报告 → 进行中 → 已解决 |
| **管理员仪表板** | 查看全部、更新状态、分配响应人员、更改优先级、删除 |
| **优先级排序** | 紧急 → 高 → 中 → 低,然后按时间排序 |
| **图表** | 饼图(优先级分布)、条形图(类别细分) |
| **搜索与过滤** | 按关键字、ID、状态、优先级、类别 |
| **离线优先** | Hive 本地存储、同步标志、重新连接时自动同步 |
| **颜色编码** | 🔴 紧急 / 🟠 高 / 🟡 中 / 🟢 低 |
## 🔐 管理员访问
- 导航至底部导航栏中的 **Admin** 标签页
- 输入 PIN 码:**`1234`**
- 管理员可以更新状态、分配响应人员、更改优先级以及删除事件
## 📦 依赖项
| 包 | 用途 |
|---|---|
| `provider` | 状态管理 |
| `hive` + `hive_flutter` | 本地(离线)存储 |
| `connectivity_plus` | 网络检测 + 自动同步 |
| `uuid` | 唯一事件 ID 生成 |
| `intl` | 日期/时间格式化 |
| `fl_chart` | 仪表板图表 |
| `google_fonts` | 排版 |
## 🎨 颜色系统
| 优先级 | 颜色 |
|---|---|
| 紧急 | `#EF4444` (红色) |
| 高 | `#F97316` (橙色) |
| 中 | `#EAB308` (黄色) |
| 低 | `#22C55E` (绿色) |
| 状态 | 颜色 |
|---|---|
| 已报告 | `#3B82F6` (蓝色) |
| 进行中 | `#F97316` (橙色) |
| 已解决 | `#22C55E` (绿色) |
标签:CSV输出, Dart, Flutter, Hive, MVC架构, Provider, SOS报警, 事件报告, 事件追踪, 仪表盘, 公共安全, 后台管理面板, 响应式设计, 安卓开发, 应急管理, 无网络支持, 暗色主题, 本地存储, 灾难响应, 状态管理, 离线优先, 移动应用, 移动端开发, 紧急救援, 跨平台开发, 过滤器