--- title: 我們的旅遊清單 emoji: 🗺️ colorFrom: blue colorTo: indigo sdk: gradio sdk_version: "5.36.2" app_file: app.py pinned: false --- # 我們的旅遊清單 - 共編旅遊計畫 一個支援即時協作的旅遊清單應用程式,讓情侶或朋友可以一起規劃旅遊行程。 ## 功能特色 - 🔐 **代碼存取**: 使用唯一代碼存取共同的旅遊清單 - ✅ **核取方塊**: 完成的項目會自動移到清單底部 - 📝 **即時編輯**: 雙方可以同時編輯,每5秒自動同步 - 🎨 **美觀介面**: 響應式設計,支援桌面和手機 - 💾 **資料持久化**: 使用SQLite資料庫儲存資料 ## 部署到Hugging Face Spaces ### 1. 準備檔案 確保您的專案包含以下檔案: ``` travel_list_backend/ ├── src/ │ ├── models/ │ │ └── travel.py # 資料模型 │ ├── routes/ │ │ └── travel.py # API路由 │ ├── static/ # 前端建置檔案 │ │ ├── index.html │ │ └── assets/ │ ├── database/ │ │ └── app.db # SQLite資料庫 │ └── main.py # Flask主程式 ├── requirements.txt # Python依賴 ├── README.md # 說明文件 └── app.py # Hugging Face入口檔案 ``` ### 2. 建立Hugging Face Space 1. 前往 [Hugging Face Spaces](https://huggingface.co/spaces) 2. 點擊 "Create new Space" 3. 填寫以下資訊: - **Space name**: `travel-list-app` (或您喜歡的名稱) - **License**: Apache 2.0 - **SDK**: Gradio - **Hardware**: CPU basic (免費) - **Visibility**: Public ### 3. 上傳檔案 有兩種方式上傳檔案: #### 方式一:使用Git (推薦) ```bash # 複製您的Space repository git clone https://huggingface.co/spaces/YOUR_USERNAME/travel-list-app cd travel-list-app # 複製所有檔案到Space目錄 cp -r /path/to/travel_list_backend/* . # 提交並推送 git add . git commit -m "Initial commit: Travel list app" git push ``` #### 方式二:使用網頁介面 1. 在Space頁面點擊 "Files" 標籤 2. 點擊 "Add file" > "Upload files" 3. 上傳所有必要檔案 ### 4. 設定環境變數 (如果需要) 在Space設定中新增環境變數: - `FLASK_ENV`: `production` - `SECRET_KEY`: 您的密鑰 ### 5. 檢查部署狀態 - 上傳完成後,Hugging Face會自動開始建置 - 在 "Logs" 標籤中查看建置進度 - 建置成功後,您的應用程式將在Space URL上可用 ## 本地開發 如果您想在本地運行應用程式: ```bash # 進入專案目錄 cd travel_list_backend # 啟動虛擬環境 source venv/bin/activate # 安裝依賴 pip install -r requirements.txt # 運行應用程式 python src/main.py ``` 應用程式將在 http://localhost:5000 上運行。 ## 使用說明 1. **建立清單**: 在首頁點擊"建立新清單",系統會產生唯一代碼 2. **分享代碼**: 將代碼分享給另一半或朋友 3. **加入清單**: 使用代碼進入共同的旅遊清單 4. **新增項目**: 在輸入框中新增想去的地方 5. **標記完成**: 點擊核取方塊標記已完成的項目 6. **即時同步**: 所有變更會自動同步給其他使用者 ## 技術架構 - **後端**: Python Flask + SQLite - **前端**: React + Tailwind CSS + shadcn/ui - **部署**: Hugging Face Spaces - **即時同步**: 輪詢機制 (每5秒) ## 授權 MIT License