{"repo":"vyquocvu/vux","free":true,"listed":false,"github":"https://github.com/vyquocvu/vux","clone":"git clone https://github.com/vyquocvu/vux.git","description":"A Blogs based on Nextjs and Firebase","language":"TypeScript","stars":12,"topics":["typescript","firebase","nextjs","personal-blog"],"license":null,"category":"databases-storage","readme_excerpt":"Vux — Cloudflare-Ready Next.js Blog A personal blog built on Next.js 14 (Pages Router) running on Cloudflare Workers via [ @opennextjs/cloudflare ]. Posts live in Cloudflare D1; images & audio live in Cloudflare R2. Authentication uses email + password with PBKDF2 hashing and Web-Crypto-signed cookies. Migrating from Vercel This repository was previously deployed on Vercel using Next.js 13 + Firebase (Auth + Firestore + Storage). The full migration notes — including how to create the D1 database, R2 bucket, and the secret — live in docs/MIGRATION.md . Seed data was crawled from into ./seeds/ (47 posts, 94 images). Stack Layer Technology --- --- Edge runtime Cloudflare Workers ( @opennextjs/cloudflare ) Framework Next.js 14.2 (Pages Router) Database Cloudflare D1 ( posts , users , tags , sessions ) Object storage Cloudflare R2 ( vux-media ) Auth PBKDF2 (Web Crypto) + iron-webcrypto cookies Styling Tailwind, next/font/google Editor Quill.js (unchanged) ISR revalidate: 60 on /post/[slug] via Workers Cache API Local development Or, for fast iteration with the regular Next dev server (no worker bindings — the auth flow won't work, but routing/CSS do): Deploy npm run deploy is opennextjs-cloudflare build && opennextjs-cloudflare deploy which produces a single Workers bundle from this directory. Scripts Script Purpose --- --- npm run build next build — Next.js production build (output read by deploy ) npm run build:opennext opennextjs-cloudflare build — wraps next build and adapts t","default_branch":null,"files":null,"tree":[],"storefront":"/r/vyquocvu","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vyquocvu/vux/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}