災害發生時,讓需要幫助的人找到資源,讓想幫助的人找到需求
一個專為救災情境設計的資源配對平台,解決災害發生時資訊不流通的問題。
本系統整合災情通報、需求管理、物資倉儲、捐款金流、避難所資訊,提供使用者即時發布需求與查詢資源;管理者可在後台審查並進行數據分析,後端採交易管理與索引優化確保一致性與效能,並以 NoSQL 做行為分析。
YouTube 影片連結、 Google Drive 影片連結
- Node.js (with npm): v18 或以上
- PostgreSQL: v14 或以上
- MongoDB: v6.0
-
Node.js
請先手動安裝Node.js+npm
-
PostgreSQL
請在你的 PostgreSQL 中建立資料庫,使用 release 的.backup file 還原資料庫。
-
.env更名專案根目錄的
.env.example為.env,並填入你的資料庫連線資訊 (DB_USER, DB_PASSWORD 等)。
- 自動啟動:專案根目錄已設定
concurrently,可使用 npm 指令同時啟動前後端。
npm install # 首次執行需安裝依賴
npm run install:all # 一鍵安裝所有依賴 (Root, Backend, Frontend)
npm start若不幸無法自動啟動,你也可以使用我們寫好的腳本,一鍵安裝所有module,並且同時啟動前後端Server!
- Shell 腳本 (Mac/Linux):
./start_system.sh- 批次檔(Windows):
./start_system.bat前端:http://localhost:5173/ 後端:http://localhost:3000/
如果你想分開啟動或進行開發,請參考以下步驟。
首先確保 PostgreSQL 服務已啟動。
-
建立資料庫:
CREATE DATABASE disaster_platform;
-
匯入資料表結構:
# 請確保你在專案根目錄 psql -U postgres -d disaster_platform -f backend/schema.sql
-
進入後端目錄並安裝依賴:
cd backend npm install -
設定環境變數: 在
backend目錄下建立.env檔案,內容如下(請依實際情況調整):DB_USER=postgres DB_PASSWORD=your_password DB_HOST=localhost DB_PORT=5432 DB_NAME=disaster_platform PORT=3000
-
啟動後端伺服器:
node server.js # 或使用 nodemon (開發模式) # npm install -g nodemon # nodemon server.js
成功後會顯示:
🚀 Full API running at http://localhost:3000
-
進入前端目錄並安裝依賴:
cd frontend npm install -
啟動開發伺服器:
npm run dev
成功後會顯示:
Local: http://localhost:5173/
- Frontend: React 19, TypeScript, Tailwind CSS, Vite
- Backend: Node.js, Express
- Database: PostgreSQL
- API: RESTful API (
/api/...)