Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volunteer Nexus (Mambox)

Volunteer Nexus 是一個現代化的 志工管理與排班系統,專為大型活動與組織設計。支援多租戶 (Multi-Tenant) 架構,讓不同組織能獨立管理自己的活動、志工、排班與表單。

System Overview

🚀 主要功能

  • 多租戶架構 (Multi-Tenancy):支援多個組織共存,資料完全隔離 (organization_id based isolation)。
  • 總控後台 (Super Admin Platform):集中管理所有組織、帳號與全域設定。
  • 主辦方後台 (Organizer Dashboard)
    • 活動管理:建立與編輯活動、設定活動標籤。
    • 排班系統:彈性的時間段、職位需求設定與自動化排班。
    • 志工管理:志工資料庫、審核流程、黑名單標記。
  • 志工前台 (Volunteer Portal)
    • RWD 響應式設計:支援手機與電腦瀏覽。
    • 活動報名:瀏覽活動、填寫報名表。
    • 自助排班:選擇有空的時段與職位。
    • 打卡系統:活動當日 QR Code 簽到退。

🛠️ 技術棧 (Tech Stack)

  • 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 部署。

🏁 快速開始 (Getting Started)

1. 安裝與設定

# 安裝相依套件
npm install

# 初始化資料庫 Schema
npm run db:push

2. 資料庫初始化 (Migration & Seeding)

重要:初次啟動前,必須依序執行以下腳本來建立必要的組織與帳號。

# 建立預設組織 (Default Organization)
npx tsx scripts/migrate-to-multi-tenant.ts

# 建立預設測試帳號 (Super Admin, Organizer, Volunteer)
npx tsx scripts/seed-test-users.ts

3. 啟動開發伺服器

npm 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

About

for manbox HR system

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages