|
|
2 săptămâni în urmă | |
|---|---|---|
| database | 1 lună în urmă | |
| public | 2 săptămâni în urmă | |
| routes | 1 lună în urmă | |
| .gitignore | 1 lună în urmă | |
| README.md | 1 lună în urmă | |
| package-lock.json | 1 lună în urmă | |
| package.json | 1 lună în urmă | |
| server.js | 1 lună în urmă |
一個基於Node.js和SQLite的問題追蹤系統,專為MAA(Mobile Application Automation)測試團隊設計。
複製專案
git clone <repository-url>
cd maa-test-issues
安裝依賴套件
npm install
啟動應用程式
npm start
開發模式(自動重啟)
npm run dev
開啟瀏覽器
訪問 http://localhost:3000
系統會自動建立範例資料,包括:
GET /api/issues
參數:
- project_id: 專案ID(可選)
- status: 狀態(可選)
- priority: 優先級(可選)
- page: 頁碼(預設1)
- limit: 每頁數量(預設10)
GET /api/issues/:id
POST /api/issues
Body:
{
"title": "問題標題",
"description": "問題描述",
"project_id": 1,
"priority": "high",
"assignee": "開發者姓名",
"reporter": "回報者姓名"
}
PUT /api/issues/:id
Body: 同建立問題,所有欄位可選
DELETE /api/issues/:id
POST /api/issues/:id/comments
Body:
{
"author": "評論者姓名",
"content": "評論內容"
}
GET /api/projects
GET /api/projects/:id
POST /api/projects
Body:
{
"name": "專案名稱",
"description": "專案描述",
"status": "active"
}
PUT /api/projects/:id
Body: 同建立專案,所有欄位可選
DELETE /api/projects/:id
GET /api/projects/:id/stats
建立 .gitignore 檔案:
node_modules/
*.log
.env
database/maa_test.db
.DS_Store
# 初始化Git倉庫
git init
# 添加遠端倉庫
git remote add origin <gogs-repository-url>
# 添加檔案
git add .
# 提交變更
git commit -m "Initial commit: MAA測試問題追蹤系統"
# 推送到Gogs
git push -u origin main
在目標伺服器上:
# 複製倉庫
git clone <gogs-repository-url>
cd maa-test-issues
# 安裝依賴
npm install
# 設定環境變數(可選)
export NODE_ENV=production
export PORT=3000
# 啟動應用程式
npm start
# 安裝PM2
npm install -g pm2
# 啟動應用程式
pm2 start server.js --name "maa-issues"
# 設定開機自啟
pm2 startup
pm2 save
建立Nginx配置檔案:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}
| 變數名稱 | 預設值 | 說明 |
|---|---|---|
| PORT | 3000 | 伺服器端口 |
| NODE_ENV | development | 執行環境 |
id: 主鍵name: 專案名稱description: 專案描述status: 專案狀態created_at: 建立時間updated_at: 更新時間id: 主鍵project_id: 專案ID(外鍵)title: 問題標題description: 問題描述status: 問題狀態priority: 優先級assignee: 指派給reporter: 回報者created_at: 建立時間updated_at: 更新時間id: 主鍵issue_id: 問題ID(外鍵)author: 評論者content: 評論內容created_at: 建立時間maa-test-issues/
├── database/
│ ├── init.js # 資料庫初始化
│ └── maa_test.db # SQLite資料庫檔案
├── routes/
│ ├── issues.js # 問題相關路由
│ └── projects.js # 專案相關路由
├── public/
│ ├── index.html # 主頁面
│ ├── styles.css # 樣式檔案
│ └── script.js # 前端JavaScript
├── server.js # 主伺服器檔案
├── package.json # 專案配置
└── README.md # 說明文件
routes/ 目錄下建立新的路由檔案server.js 中引入並使用新路由# 執行測試
npm test
資料庫連線失敗
端口被占用
依賴安裝失敗
npm cache clean --forceMIT License
歡迎提交Issue和Pull Request來改善這個專案!
如有問題或建議,請聯繫MAA測試團隊。