Nyuti10/-Flutter-based-Smart-Emergency-Response-Incident-Reporting-App

GitHub: Nyuti10/-Flutter-based-Smart-Emergency-Response-Incident-Reporting-App

一款离线优先的Flutter跨平台应急响应与事件上报应用,帮助快速记录、按优先级跟踪紧急事件并通过仪表盘辅助指挥调度。

Stars: 0 | Forks: 0

🛡️ 智能应急响应应用

基于 Flutter 的智能应急响应与事件上报应用,支持离线使用、优先级处理、仪表盘分析以及后台管理。

[![Flutter Version](https://img.shields.io/badge/Flutter-3.x-02569B?logo=flutter)](https://flutter.dev/) [![Provider](https://img.shields.io/badge/State_Management-Provider-4A148C)](https://pub.dev/packages/provider) [![Hive](https://img.shields.io/badge/Storage-Hive-FFCA28)](https://pub.dev/packages/hive) [![Platform](https://img.shields.io/badge/Platform-Android%20%7C%20iOS%20%7C%20Web-lightgrey)]()

## 📝 问题描述 在应对重大紧急情况(医疗、火灾、治安、交通事故)时,分秒必争。传统的人工或分散式上报系统会增加响应延迟,给生命和财产安全带来更高的风险。我们需要一款统一的、离线优先的移动应用程序,以便快速记录事件、自动分配紧急程度(颜色编码优先级),并通过实时仪表盘分析帮助响应团队立即派遣距离最近的可用救援人员。 ## ✨ 已实现的功能 * **事件上报**:带有验证功能的表单,确保没有遗漏任何细节。自动生成标准 ID(例如 `INC123456789`)。 * **事件追踪**:强大的跟踪列表,按优先级(`Critical` 优先)和时间戳动态排序。 * **管理仪表盘**:全面的可视化分析,包括优先级分布进度条和类别细分。 * **搜索与过滤**:支持按 ID/标题进行强大的实时搜索,并可按精确的优先级、状态和类别进行过滤。 * **离线 Hive 存储**:使用 NoSQL Hive 在本地持久化所有数据,这意味着即使在没有网络连接的情况下,应用也能安全运行。 * **基于优先级的操作流程**:针对 `Critical`、`High`、`Medium` 和 `Low` 紧急情况提供不同的路由和 UI 标记。 * **颜色编码的状态管理**:全局集成的动态 `Active`(进行中) / `Resolved`(已解决)状态。 ## 🛠 模块与使用的技术 * **框架**:Flutter (Dart) * **架构**:受 MVVM 启发的 Provider 模式 * **状态管理**:`provider` 模式,用于在仪表盘和列表之间实现响应式 UI 更新。 * **离线数据库**:`hive` 和 `hive_flutter`,用于极速的 NoSQL 存储。 * **唯一标识**:`uuid` 时间戳哈希方法。 * **日期解析**:`intl`,用于专业的时间戳本地化。 ## 📱 包含的界面 | 界面 | 描述 | |---|---| | **1. 管理仪表盘界面** | 所有应用统计信息的概览、快捷操作以及紧急活跃任务的展示。 | | **2. 事件上报界面** | 简洁且经过验证的表单,用于提交严格的紧急事件详情。 | | **3. 事件列表界面** | 主跟踪器,按严重程度和时间先后排序。 | | **4. 事件详情界面** | 专属视图,显示分配的响应人员、确切状态、完整描述和操作标记。 | | **5. 搜索与过滤界面** | 高级查找功能,结合多个枚举(状态、类别、级别)精确定位特定事件。 | ## 🚦 优先级处理逻辑 应用程序强制执行严格的视觉和排序层级: 1. **Critical (红色)**:在所有列表中优先显示,触发醒目的红色边框,并添加到仪表盘警告队列中。 2. **High (橙色)**:排在第二位显示,带有显眼的橙色标签。 3. **Medium (琥珀色)**:排在第三位显示,标准警告。 4. **Low (绿色)**:最后显示,标准的信息级紧急程度。 ## 📂 文件夹结构 ``` lib/ ├── models/ │ └── incident_model.dart # Data layer, enums, & Hive TypeAdapters ├── providers/ │ └── incident_provider.dart # Business logic layer, data routing ├── screens/ │ ├── dashboard_screen.dart # Entry Admin analytical screen │ ├── incident_list_screen.dart # Master list view │ ├── incident_detail_screen.dart # Specific record view │ ├── report_screen.dart # Form intake │ └── search_filter_screen.dart # Filtering overlay / separate view ├── services/ │ └── hive_service.dart # Core offline DB initialization & mocking ├── widgets/ │ ├── incident_card.dart # Reusable List Tile card │ ├── priority_badge.dart # Automated color badge component │ └── stat_card.dart # Interactive analytical card └── main.dart # Root bindings and ThemeData configurations ``` ## 🚀 安装与如何运行项目 ### 前置条件 - Flutter SDK (`>= 3.0.0`) - Dart SDK - Android Studio / VS Code,并配置了现代 Flutter 集成。 ### 步骤 1. **克隆仓库:** git clone 2. **进入目录:** cd smart_emergency_response_app 3. **获取依赖:** flutter pub get 4. **运行项目 (Chrome/Web/模拟器):** flutter run *(注意:应用在运行时会安全地自动清除旧的数据模式,并模拟 4 个逼真的紧急事件,以便立即展示仪表盘功能)。* ## 🔮 未来增强计划 * **云同步 (Firebase/Supabase)**:在网络连接恢复时,安全地将离线 Hive 的更改推送到远程数据库。 * **推送通知**:集成 FCM,以便在出现新的 Critical(危急)案例时立即通知确切被分配的响应人员。 * **地理围栏地图集成**:在 Google Map 视图上原生显示按区域聚类的事件。 ## 🏁 结论 智能应急响应应用提供了一个即时、离线就绪的界面,确保关键的派单不会因系统故障或网络连接中断而丢失。该应用采用简洁现代的 Material 设计原则和可扩展的 provider 架构设计,非常适合投入生产环境使用。
标签:Android, DSL, Flutter, Hive, iOS, NoSQL数据库, Provider, UI组件, Web, 事故管理, 代码示例, 仪表盘, 优先级调度, 公共安全, 医疗急救, 可视化分析, 安防系统, 应急响应系统, 搜索与过滤, 数据分析, 数据库接管, 消防报警, 状态管理, 离线优先, 离线数据存储, 移动端开发, 突发事件报告, 表单验证, 跨平台应用, 身份与访问管理