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
## 📸 截图
### 👤 用户界面
*报告事件、查看实时地图、确认报告以及参与讨论*
### 🏛️ Barangay 官员界面
*管理本地事件、更新状态、分配严重等级并协调响应*
### 🔐 管理员界面
*完整的系统控制、用户管理、审计日志和全面分析*
### ✨ 更多功能
*社区面板:投票、公共聊天、公告和账户设置*
## 🚀 安装指南
### 前置条件
- 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` 文件。
**为防灾备灾和社区安全而建,用 ❤️ 打造。**
### 🏛️ Barangay 官员界面
*管理本地事件、更新状态、分配严重等级并协调响应*
### 🔐 管理员界面
*完整的系统控制、用户管理、审计日志和全面分析*
### ✨ 更多功能
*社区面板:投票、公共聊天、公告和账户设置*
## 🚀 安装指南
### 前置条件
- 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, 实时地图, 审计日志, 库, 应急响应, 本地持久化, 灾害监控, 灾难报告, 灾难管理, 社区协调, 社区安全, 离线支持, 移动应用, 聊天系统, 角色权限, 验证系统