{"id":23407208,"url":"https://github.com/chueating1005/2024-line-fresh","last_synced_at":"2025-04-11T22:40:39.516Z","repository":{"id":263046280,"uuid":"888470269","full_name":"ChuEating1005/2024-LINE-FRESH","owner":"ChuEating1005","description":"LINE FRESH 2024 校園競賽","archived":false,"fork":false,"pushed_at":"2024-12-08T07:58:09.000Z","size":10967,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T18:41:03.600Z","etag":null,"topics":["django","firebase","liff","linebot","mysql","openai-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChuEating1005.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-14T13:05:57.000Z","updated_at":"2024-12-08T07:58:13.000Z","dependencies_parsed_at":"2024-12-03T21:37:43.774Z","dependency_job_id":null,"html_url":"https://github.com/ChuEating1005/2024-LINE-FRESH","commit_stats":null,"previous_names":["chueating1005/2024-line-fresh"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChuEating1005%2F2024-LINE-FRESH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChuEating1005%2F2024-LINE-FRESH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChuEating1005%2F2024-LINE-FRESH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChuEating1005%2F2024-LINE-FRESH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChuEating1005","download_url":"https://codeload.github.com/ChuEating1005/2024-LINE-FRESH/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248493011,"owners_count":21113159,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","firebase","liff","linebot","mysql","openai-api"],"created_at":"2024-12-22T14:17:59.377Z","updated_at":"2025-04-11T22:40:39.490Z","avatar_url":"https://github.com/ChuEating1005.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eYStoryHouse\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./docs/logo.jpg\" style=\"width:300px;\" \u003e\n  \u003ch4\u003eLINE FRESH 2024 校園競賽\u003c/h4\u003e\n\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#專案資訊\"\u003e專案資訊\u003c/a\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#核心功能\"\u003e核心功能\u003c/a\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#技術架構\"\u003e技術架構\u003c/a\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#環境需求\"\u003e環境需求\u003c/a\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#安裝步驟\"\u003e安裝步驟\u003c/a\u003e\u0026nbsp;\u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#使用說明\"\u003e使用說明\u003c/a\u003e\n\u003c/p\u003e\n\n\n\u003e [!NOTE]\n\u003e \u003ch3\u003e青銀故事屋「一個跨世代交流的平台」。\u003c/h3\u003e\n\u003e \n\u003e 社交是人類不可或缺的需求，在如今社群爆炸的時代，卻沒有一款適合銀髮族分享的平台，因為複雜的社群平台入門往往不易，銀世代常難以上手，然而他們積累的知識卻是不可或缺的結晶，因此我們以 LINE 這個「銀世代最熟悉的APP」為主要媒介，結合語音辨識與生成式 AI，讓青銀故事屋成為跨世代最流行的社交平台。透過圖文生成與問答互動，青銀兩世代可以分享知識，甚至互相提問，縮短世代隔閡的同時實踐價值延續。\n\u003e \n\u003e 專案不僅滿足青銀兩代的需求，還具備深遠的社會與經濟效益。透過知識分享與文化交流，提升銀世代的自我價值，同時激發青世代的解決問題能力。結合回饋機制促進平台參與度，帶動商業活動，實現社會共好與經濟正循環。\n\n## 專案資訊\n\u003e [!Tip]\n\u003e - [Demo 影片](https://www.youtube.com/watch?v=QEzR6sx1SfAo)\n\u003e - [Project 企劃書](https://www.canva.com/design/DAGXStSQ2DY/urVT4kM-0JidpO_EJJMkOw/edit?utm_content=DAGXStSQ2DY\u0026utm_campaign=designshare\u0026utm_medium=link2\u0026utm_source=sharebutton)\n\n## 參賽資訊\n| 姓名 | 學校 |\n| --- | --- |\n| 邱振源 | 交大資工大三 |\n| 朱驛庭 | 交大資工大三 |\n| 楊子賝 | 交大資工大三 |\n| 陳冠智 | 交大資工大三 |\n| 蔡昀錚 | 交大資工大三 |\n### Contributors\n\u003ca href=\"https://github.com/ChuEating1005/LINE-FRESH-2024/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ChuEating1005/LINE-FRESH-2024\"\u003e\n\u003c/a\u003e\n\n## 核心功能\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./docs/core_function.png\" style=\"width:800px;\" align=\"center\"\u003e   \n\u003c/div\u003e  \n\n平台提供以下特色功能：\n- **語音輸入**：讓銀髮族輕鬆分享故事\n- **智慧整合**：運用 AI 技術將對話轉化為精彩文章\n- **故事插圖**：自動生成故事段落畫面圖片，增強閱讀體驗\n- **互動問答**：促進世代間知識交流\n- **分類瀏覽**：輕鬆找到感興趣的主題\n\n\n## 技術架構\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./docs/tech_stack.png\"\u003e\n\u003c/div\u003e  \n\n- **前端**：LINE Frontend Framework (LIFF)\n- **後端**：Django\n- **資料庫**：MySQL\n- **LLM**：ChatGPT 3.5-Turbo / 4o (OpenAI API)\n- **圖片生成**：Pollinations.ai API / DALL-E 3 (OpenAI API)\n- **訊息服務**：LINE Messaging API\n- **語音處理**：Taiwan AI Labs ASR （雅婷智慧）\n- **容器化**：Docker\n\n## 環境需求\n\u003e [!Caution]\n\u003e **以下為本專案所需之環境，請確保這些環境已成功建置**\n\u003e - Python 3.x\n\u003e - Docker\n\u003e - LINE Messaging API\n\u003e - LIFF ID\n\u003e - Firebase Storage\n\u003e - OpenAI API 金鑰\n\u003e \n\u003e 詳請可至 [env.example](./backend/.env.example) 確認需要哪些屬性\n\n## 安裝步驟\n\n1. **複製專案：**\n\n   ```bash\n   git clone https://github.com/ChuEating1005/2024-LINE-FRESH.git\n   cd 2024-LINE-FRESH/backend\n   ```\n\n2. **建立環境變數檔案：**\n\n   複製 `.env.example` 模板並建立 `.env` 檔案，填入對應欄位資訊：\n\n   ```bash\n   cp .env.example .env\n   ```\n\n3. **Pull MySQL Docker Image**\n\n   ```bash\n   docker pull mysql:8.0\n   ```\n\n4. **安裝語音處理必要套件：**\n\n   For MacOS:\n   ```bash\n   brew install portaudio\n   brew install ffmpeg\n   ```\n\n   For Ubuntu:\n   ```bash\n   sudo apt-get update\n   sudo apt-get install portaudio19-dev python3-pyaudio ffmpeg\n   ```\n\n5. **安裝 Python dependencies:**\n\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n6. **啟動專案：**\n\n   ```bash\n   cd backend\n   python3 set_richmenu.py  # 設置 LINE Bot 選單\n   make start              # 啟動服務\n   ```\n\n## 使用說明\n\n### 管理介面\n- Access the Django admin interface at `http://localhost:8000/admin/`\n- The bot's callback URL is (LINE Bot Endpoint) `http://localhost:8000/bot/callback/`\n- Article list (LIFF Endpoint): `http://localhost:8000/bot/article/`\n\n### LINE Bot 功能\n1. **發表文章**\n   - 支援文字輸入\n   - 支援語音輸入（自動轉換為文字）\n\n2. **回答問題**\n   - 查看待回答的問題\n   - 提供答案（支援文字/語音）\n   - 系統自動整合多人回答生成文章\n\n3. **提出問題**\n   - 提出一個問題\n   - 在問題被5人以上回答之後，將生成的文章推給使用者。\n\n3. **瀏覽文章**\n   - 依分類瀏覽\n   - 點讚功能\n   - 相關文章推薦\n\n## 專案結構\n\n```\nbackend/\n└── bot/                # LINE Bot 主要應用\n    ├── handlers/      # 訊息處理邏輯\n    ├── models/        # 資料模型\n    ├── templates/     # 網頁模板\n    ├── views/         # 視圖函數\n    └── templates/     # 共用模板\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchueating1005%2F2024-line-fresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchueating1005%2F2024-line-fresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchueating1005%2F2024-line-fresh/lists"}