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) ![项目状态](https://img.shields.io/badge/Status-Complete-success.svg) ![React](https://img.shields.io/badge/Frontend-React.js-blue.svg) ![Node.js](https://img.shields.io/badge/Backend-Node.js_&_Express-green.svg) ![Azure SQL](https://img.shields.io/badge/Database-Azure_SQL_Server-blue.svg?logo=microsoftazure) ## 概述 **智能灾害响应 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, 应急管理, 灾难响应, 自定义脚本