zunafu/Barangay-Disaster-Monitoring-System-Android

GitHub: zunafu/Barangay-Disaster-Monitoring-System-Android

「Barangay 灾害监控系统」是一个基于Jetpack Compose的Android应用,专为基层社区提供实时灾害报告、地图追踪和多方协调功能,支持离线使用和角色权限管理。

Stars: 0 | Forks: 0

# 🚨 Barangay 灾害监控系统 (BDMS) Android 版 一款使用 Jetpack Compose 构建的综合性 Android 应用,专为实时灾害报告、跟踪和社区协调而设计。该应用利用开源地图和本地持久化存储,为紧急情况提供可靠工具。 ## 📱 功能特性 - **交互式事件地图**:使用 OSMDroid 实时可视化灾害事件(火灾、洪水、地震等)。 - **基于角色的访问控制**: - **管理员**:完整的系统监督、用户管理和详细的审计日志。 - **Barangay 官员**:在其管辖范围内对事件进行本地化管理和验证。 - **用户**:通过标记位置报告事件、确认他人的报告并管理个人资料。 - **事件报告**:易于使用的界面,用于报告灾难并附有严重等级和描述。 - **社区聊天**:实时聊天系统,用于灾难期间的全社区协调。 - **验证系统**:社区驱动的“投票”机制,用于确认报告事件的真实性。 - **审计日志**:全面追踪所有系统操作(登录、报告、更新),确保透明度。 - **本地持久化存储**:使用 Room SQLite 数据库实现完全离线查看已加载数据的能力。 ## 🛠 技术栈 - **语言**:Kotlin - **UI框架**:Jetpack Compose - **本地数据库**:Room (SQLite) - **地图**:OSMDroid (OpenStreetMap) - **图片加载**:Coil - **架构**:MVVM(Model-View-ViewModel)逻辑搭配 Repository 模式。 - **设计系统**:Material Design 3 ## 📸 截图 ### 👤 用户界面 *报告事件、查看实时地图、确认报告以及参与讨论* image image image image image ### 🏛️ Barangay 官员界面 *管理本地事件、更新状态、分配严重等级并协调响应* image image image image image image ### 🔐 管理员界面 *完整的系统控制、用户管理、审计日志和全面分析* image image image image image image ### ✨ 更多功能 *社区面板:投票、公共聊天、公告和账户设置* image image image image image ## 🚀 安装指南 ### 前置条件 - Android Studio Ladybug(或更新版本) - JDK 17 - Android SDK 24+(Android 7.0+) ### 安装步骤 1. **克隆仓库**: ``` git clone https://github.com/yourusername/disastermanagement.git ``` 2. **在 Android Studio 中打开**: - 启动 Android Studio。 - 选择 `Open` 并导航到克隆的项目文件夹。 3. **同步 Gradle**: - 等待项目完成索引并同步 Gradle 文件。 4. **权限**: - 应用需要位置权限以在地图上显示您的位置并报告事件。 5. **运行**: - 连接 Android 设备或启动模拟器,然后点击 `Run` 按钮。 ## 🔐 测试账户 为测试目的,该应用预置了以下管理账户。如需标准用户访问,请使用注册功能。 | 角色 | 电子邮件 | 密码 | | :--- | :--- | :--- | | **管理员** | `admin@test.com` | `password123` | | **Barangay** | `barangay@test.com` | `password123` | | **标准用户** | *通过注册创建* | *用户自定义* | ### 如何添加标准用户: 1. 打开应用并导航到 **登录** 屏幕。 2. 点击 **注册** 或 **创建账户**。 3. 填写您的详细信息并点击 **注册**。 4. 然后您可以使用新创建的凭据登录,以访问特定于用户的功能,如报告事件。 ## 📂 项目结构 - `ui/screens/`:包含所有基于 Compose 的屏幕(主界面、登录、用户管理等)。 - `data/database/`:Room 数据库配置、实体定义(Incident、User、AuditLog、Chat)和 DAO 接口。 - `utils/`:审计日志和位置服务的辅助类。 - `ui/theme/`:Material 3 主题配置。 ## 📄 许可证 基于 MIT 许可证分发。详见 `LICENSE` 文件。 **为防灾备灾和社区安全而建,用 ❤️ 打造。**
标签:Android, Barangay, Coil图片加载, DSL, Jetpack Compose, Kotlin, Material Design 3, MVVM架构, OSMDroid, Repository模式, Room数据库, SQLite, 实时地图, 审计日志, 库, 应急响应, 本地持久化, 灾害监控, 灾难报告, 灾难管理, 社区协调, 社区安全, 离线支持, 移动应用, 聊天系统, 角色权限, 验证系统