一套完整的 Issue Tracking 系統,後端採 Dart (shelf) + PostgreSQL,前端以 Flutter 分別實作 Client(Web/Mobile)與 Admin(Web),並以 Melos monorepo 統一管理。
- JWT 認證(access / refresh token)
- Task 建立、指派、狀態流轉、自訂欄位
- Audit Trail(異動歷程追蹤)
- 通知與訂閱,WebSocket 即時推送
- Automation(規則自動化)
- 搜尋與報表
- Client App(Web/Mobile)與 Admin App(Web)
- Unit / Widget / Integration 測試
| 層級 | 技術 |
|---|---|
| Server | Dart (shelf) + PostgreSQL |
| Client | Flutter (Web/Mobile) |
| Admin | Flutter (Web) |
| Monorepo 管理 | Melos |
| 認證 | JWT (access + refresh token) |
| 即時通訊 | WebSocket |
| 測試 | unit / widget / integration |
專案結構與開發慣例見 CLAUDE.md;完整實作計畫見 PLAN.md。
dart pub get
melos bootstrap
# 安裝指定 Flutter 版本(fvm)
dart pub global activate fvm
fvm install# 啟動 PostgreSQL
docker-compose up -d db
# 啟動 Server(DATABASE_URL 為必要環境變數,預設值見 .env.example)
cd apps/server
export DATABASE_URL=postgres://issue_user:issue_pass@localhost:5432/issue_tracking
dart run bin/server.dart
# 啟動 Client (web)
cd apps/client
fvm flutter run -d chrome
# 啟動 Admin (web)
cd apps/admin
fvm flutter run -d chromemelos run test # pure-Dart 套件測試
melos run test:flutter # Flutter widget 測試
melos run test:all # 全部測試curl http://localhost:8080/api/v1/health