File size: 2,965 Bytes
db0210c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Hugging Face Spaces 部署指南

## 快速部署步驟

### 1. 建立新的Hugging Face Space

1. 前往 https://huggingface.co/spaces
2. 點擊 "Create new Space"
3. 設定如下:
   - **Space name**: `travel-list-app` (或您喜歡的名稱)
   - **License**: MIT
   - **SDK**: Gradio
   - **Hardware**: CPU basic (免費)
   - **Visibility**: Public

### 2. 上傳檔案

將以下檔案上傳到您的Space:

```
📁 必要檔案清單:
├── app.py                    # Gradio入口檔案
├── requirements.txt          # Python依賴
├── README.md                # 專案說明
└── src/
    ├── main.py              # Flask主程式
    ├── models/
    │   └── travel.py        # 資料模型
    ├── routes/
    │   └── travel.py        # API路由
    ├── static/              # 前端檔案
    │   ├── index.html
    │   └── assets/
    └── database/
        └── app.db           # SQLite資料庫檔案
```

### 3. 使用Git上傳 (推薦)

```bash
# 1. 複製您的Space repository
git clone https://huggingface.co/spaces/YOUR_USERNAME/SPACE_NAME
cd SPACE_NAME

# 2. 複製專案檔案
cp -r /path/to/travel_list_backend/* .

# 3. 提交並推送
git add .
git commit -m "Deploy travel list app"
git push
```

### 4. 檢查部署

- 上傳完成後,Hugging Face會自動開始建置
- 在Space的 "Logs" 標籤查看建置進度
- 建置成功後,應用程式將在Space URL上可用

## 檔案說明

### app.py
- Hugging Face Spaces的入口檔案
- 使用Gradio包裝Flask應用程式
- 在背景執行Flask服務

### requirements.txt
- 包含所有必要的Python依賴
- 包括Flask、SQLAlchemy、CORS、Gradio等

### src/main.py
- Flask應用程式的主要入口
- 設定路由、資料庫、CORS等

### src/models/travel.py
- 定義TravelList和TravelItem資料模型
- 使用SQLAlchemy ORM

### src/routes/travel.py
- 定義所有API端點
- 處理CRUD操作

### src/static/
- 包含建置好的React前端檔案
- 由Flask直接提供服務

## 常見問題

### Q: 部署後無法存取?
A: 檢查Logs標籤是否有錯誤訊息,確保所有檔案都已正確上傳。

### Q: 資料庫錯誤?
A: 確保database/app.db檔案已上傳,或讓應用程式自動建立。

### Q: 前端無法載入?
A: 確保static/目錄包含所有建置檔案,特別是index.html。

### Q: API呼叫失敗?
A: 檢查CORS設定,確保前端使用相對路徑呼叫API。

## 測試清單

部署後請測試以下功能:

- [ ] 首頁正常載入
- [ ] 可以建立新清單
- [ ] 可以使用代碼進入清單
- [ ] 可以新增旅遊項目
- [ ] 核取方塊功能正常
- [ ] 完成項目移到底部
- [ ] 編輯和刪除功能正常
- [ ] 多個瀏覽器標籤同步更新

## 支援

如有問題,請檢查:
1. Hugging Face Space的Logs標籤
2. 瀏覽器開發者工具的Console
3. 確保所有檔案都已正確上傳