Volunteer Nexus 是一個現代化的 志工管理與排班系統,專為大型活動與組織設計。支援多租戶 (Multi-Tenant) 架構,讓不同組織能獨立管理自己的活動、志工、排班與表單。
- 多租戶架構 (Multi-Tenancy):支援多個組織共存,資料完全隔離 (
organization_idbased isolation)。 - 總控後台 (Super Admin Platform):集中管理所有組織、帳號與全域設定。
- 主辦方後台 (Organizer Dashboard):
- 活動管理:建立與編輯活動、設定活動標籤。
- 排班系統:彈性的時間段、職位需求設定與自動化排班。
- 志工管理:志工資料庫、審核流程、黑名單標記。
- 志工前台 (Volunteer Portal):
- RWD 響應式設計:支援手機與電腦瀏覽。
- 活動報名:瀏覽活動、填寫報名表。
- 自助排班:選擇有空的時段與職位。
- 打卡系統:活動當日 QR Code 簽到退。
- Frontend: React, TypeScript, Vite, TailwindCSS, Shadcn UI, TanStack Query.
- Backend: Node.js, Express, Passport.js (Local Strategy, Session-based).
- Database: PostgreSQL, Drizzle ORM.
- Deployment: 支援 Replit 與 Docker 部署。
# 安裝相依套件
npm install
# 初始化資料庫 Schema
npm run db:push重要:初次啟動前,必須依序執行以下腳本來建立必要的組織與帳號。
# 建立預設組織 (Default Organization)
npx tsx scripts/migrate-to-multi-tenant.ts
# 建立預設測試帳號 (Super Admin, Organizer, Volunteer)
npx tsx scripts/seed-test-users.tsnpm run dev伺服器預設運行於 http://localhost:5000。
開發環境預設建立以下三個角色的測試帳號:
| 角色 | 帳號 (Username) | 密碼 (Password) | 登入說明 |
|---|---|---|---|
| Super Admin | superadmin |
Admin@123 |
請選 「管理員」 分頁登入 |
| Organizer | organizer |
password123 |
請選 「管理員」 分頁登入 |
| Volunteer | 0912345678 |
password123 |
請選 「志工」 分頁登入 (使用手機號碼) |
client/- 前端 React 應用程式server/- 後端 Express 伺服器shared/- 前後端共用的 Schema (Drizzle/Zod)scripts/- 資料庫遷移與測試資料生成腳本docs/- 專案文件與交接報告
MIT License