{"id":18783241,"url":"https://github.com/yukaii/zuzugo","last_synced_at":"2025-10-15T19:59:33.333Z","repository":{"id":65740962,"uuid":"597399496","full_name":"Yukaii/zuzugo","owner":"Yukaii","description":"租租狗，通通給我租起來！","archived":false,"fork":false,"pushed_at":"2025-02-02T04:13:41.000Z","size":1156,"stargazers_count":17,"open_issues_count":22,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-10-04T08:44:13.886Z","etag":null,"topics":["591","bot","cralwer","inngest","line-notify","nextjs","slack-bot","typescript"],"latest_commit_sha":null,"homepage":"https://zuzugo.vercel.app","language":"TypeScript","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/Yukaii.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,"zenodo":null}},"created_at":"2023-02-04T12:36:38.000Z","updated_at":"2025-10-03T23:24:29.000Z","dependencies_parsed_at":"2025-04-13T12:10:01.039Z","dependency_job_id":"62e16ae8-dbe5-49f5-84e4-04ac60ba64b4","html_url":"https://github.com/Yukaii/zuzugo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yukaii/zuzugo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukaii%2Fzuzugo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukaii%2Fzuzugo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukaii%2Fzuzugo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukaii%2Fzuzugo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yukaii","download_url":"https://codeload.github.com/Yukaii/zuzugo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yukaii%2Fzuzugo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279110361,"owners_count":26105906,"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","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["591","bot","cralwer","inngest","line-notify","nextjs","slack-bot","typescript"],"created_at":"2024-11-07T20:38:41.180Z","updated_at":"2025-10-15T19:59:33.313Z","avatar_url":"https://github.com/Yukaii.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zuzugo 租租狗\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./docs/assets/zuzugo_logo.png\" width=\"300\" alt=\"logo\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n  抓取 591 最新租屋資訊，並提供聊天機器人通知（可簡易的擴充）\n\u003c/p\u003e\n\nStatus page: \u003chttps://zuzugo.instatus.com/\u003e\n\n## Screenshots\n\n|                  Line Notify                  |                 Slack Bot                 |\n| :-------------------------------------------: | :---------------------------------------: |\n| ![line-notify](./docs/assets/line-notify.png) | ![slack-bot](./docs/assets/slack-bot.png) |\n\n## Roadmap\n\n[參見 GitHub Project](https://github.com/users/Yukaii/projects/5/views/2)\n\n## Development\n\n1. Clone 專案，然後\n\n```bash\npnpm install\ncp .env.example .env\n```\n\n2. 更新 .env\n\n```\nSLACK_CLIENT_ID=\nSLACK_CLIENT_SECRET=\nSLACK_REDIRECT_URI=\n\n# 開發可以先關掉\nDISABLE_CRON=true\n\n# 記得先 createdb zuzugo-dev\nDATABASE_URL=postgres://postgres@localhost:5432/zuzugo-dev?schema=public\n```\n\n3. Primsa 相關\n\n```bash\npnpm prisma generate\npnpm prixma migrate deploy\n```\n\n\n```bash\n# start the inngest dev server\npnpm inngest-dev\n```\n\n## Previous Works\n\n- [zuzugo-legacy](https://github.com/Yukaii/zuzugo-legacy)：舊版租租狗，那時候只寫完爬蟲部分（現已失效，於是重寫），去參加 g0v 的 rentea 小聚，得知[豬豬快租](https://www.facebook.com/zuzutw/)因為~~大人的理由~~[下架了](https://www.facebook.com/zuzutw/posts/pfbid0Jiys6uatCsuhS76q3DSz7Atk3XuUQbKmwah8Q9trNbYVpXW8moDk4N5VJhjfmH46l)，剛好那時程式還沒寫完就找到房子，結果儘管 README 洋洋灑灑一堆，仍舊棄坑爛尾怪 XD\n- [https://github.com/aiyu666/rentHouse](https://github.com/aiyu666/rentHouse) 以及各種 forks：這次重寫 zuzugo 想說也不要重造太多輪子，GitHub 搜尋 591 前幾名又是 JavaScript 就直接拿來改了。\n  - [https://github.com/uier/rentHouse](https://github.com/uier/rentHouse) (AppLink 網址參考)\n  - [https://github.com/zephyrxvxx7/rentHouse](https://github.com/zephyrxvxx7/rentHouse) (591 API 修正參考)\n\n## Misc：關於命名\n\n- 豬豬快租 -\u003e zuzu.com.tw\n- [bbgo](https://github.com/c9s/bbgo) -\u003e BB 狗，雖然本專案沒有半行 Go...\n\n![yeah](https://1.bp.blogspot.com/-h-sB7bTbyDo/XmerCeUWoCI/AAAAAAAALSU/3DmKLm3ZXh8NUecPNKHB0YCVrUd51MbRQCK4BGAYYCw/s1600/noname.png)\n\n## Slack App setup\n\n1. Go \u003chttps://api.slack.com/apps?new_app=1\u003e to create a new app from manifest\n2. Use the following manifest (TBD)\n\n```json\n{\n  \"display_information\": {\n    \"name\": \"zuzugo\"\n  },\n  \"features\": {\n    \"bot_user\": {\n      \"display_name\": \"zuzugo\",\n      \"always_online\": true\n    },\n    \"slash_commands\": [\n      {\n        \"command\": \"/zuzugo\",\n        \"url\": \"https://your-zuzugo-domain/api/slack\",\n        \"description\": \"zuzugo commands!\",\n        \"should_escape\": false\n      }\n    ]\n  },\n  \"oauth_config\": {\n    \"redirect_urls\": [\n      \"https://your-zuzugo-domain/api/slack/oauth_redirect\",\n      \"https://your-zuzugo-domain/api/auth/callback/slack\"\n    ],\n    \"scopes\": {\n      \"bot\": [\n        \"commands\"\n      ]\n    }\n  },\n  \"settings\": {\n    \"org_deploy_enabled\": false,\n    \"socket_mode_enabled\": false,\n    \"token_rotation_enabled\": false\n  }\n}\n```\n\n1. Go to \u003chttps://your-zuzugo-domain/api/slack/install\u003e\n1. Click `Add to Slack channel`, select the channel you want to receive the notification\n1. Finish Oauth login\n1. Check the database, you should see SlackAppInstallation table has a new record\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukaii%2Fzuzugo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyukaii%2Fzuzugo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyukaii%2Fzuzugo/lists"}