AliHaiderBajwa/Smart-Disaster-Response-MIS
GitHub: AliHaiderBajwa/Smart-Disaster-Response-MIS
一个全栈Web平台,通过实时数据可视化、资源跟踪和事件报告来协调灾害应急响应。
Stars: 0 | Forks: 0
# 智能灾害响应管理信息系统 (MIS)
**在线演示:** [https://disaster-mis.vercel.app](https://disaster-mis.vercel.app)




## 概述
**智能灾害响应 MIS** 是一个综合性的全栈 Web 应用程序,旨在高效地管理、协调和响应灾害事件。该系统促进了实时数据跟踪、资源管理以及管理员和响应人员之间的沟通,以确保迅速且协调一致的灾害响应。
## 核心功能
- **实时分析**:内置带有交互式图表和指标的 dashboard(由 Recharts 提供支持)。
- **用户身份验证**:使用 JWT 和 Bcrypt 进行安全登录。
- **基于角色的访问控制 (RBAC)**:不同用户角色拥有不同的 dashboard 和权限。
- **资源管理**:有效地跟踪和分配救援物资。
- **事件报告**:创建并提交详细的事件报告。
- **演示模式**:无需后端即可探索完整的 UI——登录页面提供了默认凭据。
## 技术栈
### Frontend
- **React.js**(使用 Vite 构建)
- **Recharts** 用于数据可视化
### Backend
- **Node.js & Express.js**
- **JSON Web Tokens (JWT)** 用于身份验证
- **Bcrypt.js** 用于密码哈希
### Database
- **Microsoft SQL Server (MSSQL)** 托管在 **Microsoft Azure** 上
## 项目结构
```
├── api/ # Vercel serverless entry point
├── config/ # Database configuration
├── middleware/ # Auth & RBAC middleware
├── routes/ # Express route definitions
├── utils/ # Utility/helper functions
├── server.js # Backend entry point
├── vercel.json # Vercel deployment config
├── react ui/ # React frontend source code
│ └── smart-disaster-mis/
├── Final_DB_Updated.sql # SQL script for database setup
└── Database Project-1.pdf # Project documentation
```
## 快速开始
### 体验在线演示
Frontend 部署在 Vercel 上——无需任何设置。只需访问:
**[https://disaster-mis.vercel.app](https://disaster-mis.vercel.app)**
该应用程序支持**演示模式**——如果没有连接 backend,你仍然可以使用登录页面提供的默认凭据探索完整的界面。无需安装。
### 在本地运行 Backend
要在本地使用完整的应用程序(带有可运行的 API),你只需要设置并运行 backend。
#### 前置条件
- Node.js (v16+)
- Microsoft SQL Server / SSMS
- Git
#### 1. 克隆仓库
```
git clone https://github.com/AliHaiderBajwa/Smart-Disaster-Response-MIS.git
cd Smart-Disaster-Response-MIS
```
#### 2. 设置 Database
1. 打开 **SQL Server Management Studio (SSMS)**。
2. 执行 `Final_DB_Updated.sql` 以创建 schema 并填充初始数据。
#### 3. 配置环境变量
在根目录中创建一个 `.env` 文件:
```
DB_SERVER=your_server_address
DB_PORT=1433
DB_NAME=DisasterMIS
DB_USER=your_db_user
DB_PASSWORD=your_db_password
JWT_SECRET=your_jwt_secret
PORT=5000
```
#### 4. 安装并运行
```
npm install
npm run dev
```
Backend 将在 `http://localhost:5000` 上可用。
### 在本地运行 Frontend(可选)
仅在你想要修改 frontend 源代码时才需要此操作。
```
cd "react ui/smart-disaster-mis"
npm install
npm run dev
```
Frontend 开发服务器将在 `http://localhost:3000` 启动。
## 许可证
本项目是作为伊斯兰堡 FAST-NUCES 数据库管理系统课程的学术提交作品而开发的。可免费用于教育参考目的。
标签:Azure SQL, GNU通用公共许可证, MITM代理, Node.js, React, Syscalls, 应急管理, 灾难响应, 自定义脚本