Initial commit

This commit is contained in:
2025-11-20 23:21:05 +08:00
commit 13bc6db529
378 changed files with 54527 additions and 0 deletions

126
AGENTS.md Normal file
View File

@@ -0,0 +1,126 @@
# 公益組織會員管理系統 --- 技術規格說明書
*Version 1.0*
## 1. 系統概述
本系統為公益組織打造,用於管理會員資料、會費繳納、會籍期限及後續財務簽核流程。
系統目標包含:
- 會員可自助查詢:
- 會籍期限
- 繳費紀錄
- 個人資料
- 協會內部可管理:
- 會員資料
- 會費紀錄
- 財務文件簽核流程(會計 → 出納 → 理事長)
- 高度無障礙支援WCAG 2.1 AA
## 2. 系統架構
### 2.1 技術選型(後端)
- Laravel 10+
- PHP 8.2+
- MySQL 8+
- Laravel QueueRedis 或 DB
- Google Workspace SMTP
### 2.2 前端架構
- Phase 1Blade + 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 / permissionsspatie/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
- Redisoptional
- Daily backup
- HTTPSLet's Encrypt
## 10. Roadmap
### Phase 1
- 會員登入、資料檢視、繳費紀錄
- 後台會員管理與匯入
- 寄信與啟用流程
### Phase 2
- RBAC
- 到期提醒
- Audit Log
### Phase 3
- 財務簽核流程與附件
- Vue + Inertia 強化互動頁面