尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Yumcha helps you and your friends find a good place to lepak (hang out). Start with cafes near you, see what they're like before you go, and read or share real experiences from other people.
Status: early development. Version 1 is a mobile-friendly website. Features below marked with 🚧 are planned, not built yet.
Version 1 (built)
/kopi-kawan/) with all the details and a link to the area on a mapVersion 2 (built, needs one-time setup: see "Set up the community" below)
Version 3 (built, needs supabase/community.sql once)
Next
Later
data/cafes.js) for v1js/vendor/, version 2.117.3, MIT licence)git clone https://github.com/Pie0625/yumcha.git
cd yumcha
localhost or https):
python3 -m http.server 8000
Then visit http://localhost:8000. It forwards to /home/, and each cafe lives at an address like /kopi-kawan/.The cafes in data/cafes.js are made-up samples for testing, not real places.
Each cafe has its own page address (/kopi-kawan/), made from its id in data/cafes.js. After you add, rename or remove a cafe, regenerate the pages (needs Node.js):
node tools/build-pages.js
Use lowercase letters, numbers and dashes in the id. Then commit the new folder along with the data change.
A cafe can have one photo or several. In data/cafes.js:
id: 'kopi-kawan',
photos: [
'https://res.cloudinary.com/your-name/image/upload/kopi-kawan-1.jpg',
'https://res.cloudinary.com/your-name/image/upload/kopi-kawan-2.jpg',
],
images/ folder and write the path ('images/kopi-kawan-1.jpg').The pictures in images/ right now are drawn sample illustrations (.svg) that stand in for photos of the made-up cafes.
The community needs a free Supabase project. Until you do this, cafe pages just say "coming soon". You only do it once.
supabase/schema.sql, and press Run. This also switches on the security rules, so please don't skip it.js/config.js. These two are public and are meant to be in the website. Never copy the service_role or secret key into this repository.https://pie0625.github.io/yumcha/ and add these under Redirect URLs:
https://pie0625.github.io/yumcha/**http://localhost:8000/** (for testing on your computer)https://YOUR-PROJECT-REF.supabase.co/auth/v1/callback (Supabase shows the exact address on the Google provider page).js/config.js, set enableGoogle: true.js/config.js change, merge it into main, and open a cafe page on your site.After schema.sql has run, do the same with the second file: SQL Editor, paste all of supabase/community.sql, press Run. It creates the posts, reactions and reports tables, their security rules, and a public storage bucket called post-photos (JPEG only, 2 MB per photo, and people can only add or delete files in their own folder). It is safe to run again.
reports table lists what people reported. To remove a post, delete its row from experiences. For the Community page, read post_reports and delete the post from the posts table. Photo files stay in Storage, then post-photos until you delete them there.yumcha/
├── index.html # forwards to /home/
├── home/ # the list of cafes (yumcha/home/)
├── kopi-kawan/ ... # one folder per cafe, made by the script (yumcha/kopi-kawan/)
├── tools/ # build-pages.js and the cafe page template
├── css/styles.css # styles
├── js/app.js # list page: filters, sorting, location
├── js/detail.js # cafe page
├── js/common.js # shared helpers (photos, escaping)
├── community/ # the Community page (yumcha/community/)
├── js/auth.js # shared Supabase connection, sign in and report dialogs
├── js/community.js # experiences on the cafe pages
├── js/feed.js # the Community page: posts, photos, ratings, reactions
├── js/config.js # your Supabase project URL and public key
├── js/vendor/ # Supabase browser library (a copy, so no outside download)
├── supabase/ # schema.sql and community.sql: tables and security rules, run once each
├── data/cafes.js # sample cafe data
├── images/ # cafe pictures (sample illustrations for now)
├── icons/ # logo and favicons (logo.svg is the master)
└── README.md
This is a personal learning project. Ideas and suggestions are welcome. Open an issue to share one.
Made by @Pie0625.