2.4 KiB
2.4 KiB
公益組織會員管理系統 --- 技術規格說明書
Version 1.0
1. 系統概述
本系統為公益組織打造,用於管理會員資料、會費繳納、會籍期限及後續財務簽核流程。 系統目標包含:
- 會員可自助查詢:
- 會籍期限
- 繳費紀錄
- 個人資料
- 協會內部可管理:
- 會員資料
- 會費紀錄
- 財務文件簽核流程(會計 → 出納 → 理事長)
- 高度無障礙支援(WCAG 2.1 AA)
2. 系統架構
2.1 技術選型(後端)
- Laravel 10+
- PHP 8.2+
- MySQL 8+
- Laravel Queue(Redis 或 DB)
- Google Workspace SMTP
2.2 前端架構
- Phase 1:Blade + Tailwind + Alpine.js
- Phase 2:必要頁面用 Inertia.js + Vue 3
- 無障礙 HTML-first 原則
3. 功能規格
3.1 會員端
- 登入(Email + 密碼)
- 查看會員資料
- 查看繳費紀錄
- 修改密碼
- 忘記密碼
3.2 後台
- 會員管理(新增/編輯/匯入)
- 帳號啟用連結寄送
- 會費管理
- 到期提醒
- RBAC 角色管理
3.3 財務簽核(第二階段)
- 財務文件申請
- 出納 → 會計 → 理事長簽核流程
- Audit Log
4. 資料庫 Schema(摘要)
- members
- users
- roles / permissions(spatie/laravel-permission)
- membership_payments
- finance_documents
- audit_logs
5. 註冊與啟用流程
既有會員
- 匯入資料 → 寄啟用連結 → 設密碼
新申請會員
- 前台表單 → pending → 管理員審核 → 寄啟用連結
6. 寄信規格
- 使用 Google Workspace SMTP
- App Password 模式
- Laravel Mailable + queue
7. 無障礙規格
- HTML 語意化
- 所有表單必須有 label
- aria-live
- 表格必須使用 table/th/thead/tbody
- Email 為純文字友好格式
8. 安全性
- bcrypt/argon2 密碼
- 身分證 encrypted + hash
- Rate limiting
- Audit Log 必須覆蓋所有敏感操作
9. 部署建議
- Linux VPS
- Nginx + PHP-FPM
- MySQL/MariaDB
- Redis(optional)
- Daily backup
- HTTPS(Let's Encrypt)
10. Roadmap
Phase 1
- 會員登入、資料檢視、繳費紀錄
- 後台會員管理與匯入
- 寄信與啟用流程
Phase 2
- RBAC
- 到期提醒
- Audit Log
Phase 3
- 財務簽核流程與附件
- Vue + Inertia 強化互動頁面