Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
Find a cafe to lepak with your friends. Filter by budget, vibe and rating.
LifestyleJavaScript · HTMLGitHub @Pie0625OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full 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.