adbhutp0811/Disaster-Alert-Emergency-Response-System
GitHub: adbhutp0811/Disaster-Alert-Emergency-Response-System
一套基于 Django 的全栈灾害警报与应急响应系统,提供实时灾难预警、SOS 紧急求助、资源地图和救援调度的完整工作流。
Stars: 0 | Forks: 0
```
# 灾害警报与应急响应系统
```
一个用于实时灾难警报、SOS 紧急请求和资源管理的全栈 Django Web 应用程序。
## 功能
- **用户角色**:包含市民、救援人员和管理员,支持基于角色的访问控制
- **警报**:创建、查看并按距离过滤灾难警报
- **SOS 请求**:一键发送带有自动定位的紧急请求
- **资源目录**:包含医院、避难所、警察局的地图视图
- **紧急联系人**:管理个人紧急联系人
- **交互式地图**:使用 Leaflet.js 地图展示警报和资源
- **REST API**:提供用于移动客户端集成的 DRF endpoint
- **救援人员仪表盘**:管理警报、SOS 请求和资源
## 技术栈
- **后端**:Django 6.0
- **数据库**:MySQL
- **地图**:Leaflet.js + OpenStreetMap
- **UI**:Bootstrap 5
- **API**:Django REST Framework
## 设置说明
### 1. 创建 MySQL 数据库
```
CREATE DATABASE disaster_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
如有需要,请更新 `disaster_system/settings.py` 中的数据库凭据。
### 2. 安装依赖
```
pip install -r requirements.txt
```
### 3. 运行数据库迁移
```
python manage.py makemigrations accounts alerts sos resources
python manage.py migrate
```
### 4. 填充示例数据
```
python manage.py seed_data
```
这将创建:
- **管理员**:admin / admin123
- **救援人员**:responder1 / responder123
- **市民**:citizen1 / citizen123
- 示例警报、资源和 SOS 请求
### 5. 运行服务器
```
python manage.py runserver
```
### 6. 访问应用程序
- Web App:http://127.0.0.1:8000/
- 管理面板:http://127.0.0.1:8000/admin/
- API:http://127.0.0.1:8000/api/
## 项目结构
```
disaster_system/
├── accounts/ # Custom user model, emergency contacts, auth views
├── alerts/ # Disaster alert CRUD, proximity filtering
├── sos/ # SOS request submission and management
├── resources/ # Emergency resource directory
├── api/ # Django REST Framework endpoints
├── templates/ # All HTML templates with Bootstrap
├── static/ # Static files
├── disaster_system/ # Django project settings
├── requirements.txt
└── README.md
```
## API Endpoint
- `GET/POST /api/alerts/` - 列出/创建警报
- `GET/POST /api/sos-requests/` - 列出/创建 SOS 请求
- `GET/POST /api/resources/` - 列出/创建资源
- `GET/POST/PUT/DELETE /api///` - 详情 endpoint
标签:Django, React, Syscalls, WebSockets, 应急救援, 灾难预警