World Vibe Web
The distributed app store for vibe-coded projects. Browse, discover, and install open-source apps from across GitHub.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Premium digital & printable planner & notebook shop built with Next.js 14, Supabase, Stripe, Tailwind CSS, and Framer Motion.
3. Supabase Setup
1. Create a new Supabase project at supabase.com
2. In SQL Editor, run supabase/migrations/001_schema.sql
3. Create Storage buckets:
• product-images — Public
• product-files — Private (download files)
• blog-images — Public
4. Copy your Project URL and anon key into .env.local查看完整 README ↗Premium digital & printable planner & notebook shop built with Next.js 14, Supabase, Stripe, Tailwind CSS, and Framer Motion.
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router + RSC) |
| Database | Supabase (PostgreSQL + RLS) |
| Auth | Supabase Auth (email + OAuth) |
| Storage | Supabase Storage (products + files) |
| Payments | Stripe (cards, Apple Pay, Google Pay) |
| PayPal | PayPal JS SDK |
| Styling | Tailwind CSS + CSS Variables |
| Animations | Framer Motion |
| State | Zustand (cart, wishlist, UI) |
| Forms | React Hook Form + Zod validation |
| Fonts | Cormorant Garamond + Jost + DM Serif |
| i18n | English + French |
| SEO | next-seo + JSON-LD schema markup |
| Security | CSP headers, RLS, CSRF, rate limiting |
git clone https://github.com/your-org/arwign-planners.git
cd arwign-planners
npm install
cp .env.example .env.local
# Fill in all values — see sections below
supabase/migrations/001_schema.sqlproduct-images — Publicproduct-files — Private (download files)blog-images — Public.env.local.env.localstripe listen --forward-to localhost:3000/api/webhooks/stripe
Copy the webhook signing secret into STRIPE_WEBHOOK_SECRETnpm run dev
# → http://localhost:3000
arwign-planners/
├── app/
│ ├── layout.tsx # Root layout + SEO metadata
│ ├── globals.css # Design system, CSS variables
│ ├── site/ # Public storefront
│ │ ├── page.tsx # Homepage
│ │ ├── shop/ # Shop + product pages
│ │ ├── blog/ # Blog + article pages
│ │ ├── about/ # About page
│ │ ├── contact/ # Contact page
│ │ └── faq/ # FAQ page
│ ├── admin/ # Admin dashboard (role-protected)
│ │ ├── dashboard/ # Analytics overview
│ │ ├── products/ # Product CRUD
│ │ ├── orders/ # Order management
│ │ ├── blog/ # Blog post editor
│ │ └── settings/ # Store settings
│ ├── auth/ # Auth pages
│ ├── customer/ # Customer dashboard
│ └── api/
│ ├── checkout/ # Stripe checkout session
│ ├── webhooks/stripe/ # Stripe webhook handler
│ ├── newsletter/ # Newsletter subscription
│ └── download/ # Secure file download
├── components/
│ ├── layout/ # Navbar, Footer, CartDrawer
│ ├── home/ # Hero, Categories, Testimonials…
│ ├── shop/ # ProductCard, ShopClient…
│ ├── admin/ # Admin components
│ └── ui/ # Reusable UI primitives
├── lib/
│ ├── supabase/ # Browser + server clients
│ ├── stripe.ts # Stripe helpers
│ └── store.ts # Zustand global state
├── middleware.ts # Auth guards + CSRF protection
├── supabase/migrations/ # SQL schema
├── types/database.ts # TypeScript database types
└── tailwind.config.ts # Design tokens
/admin and /customerAdd ?lang=fr or use browser locale detection. Translation keys are in:
lib/i18n/en.jsonlib/i18n/fr.jsonProduct titles and descriptions have _fr fields in the database.
/sitemap.xml)/shop/[slug], /blog/[slug])| Method | Integration | Status |
|---|---|---|
| Credit/Debit | Stripe Elements | ✅ Ready |
| Apple Pay | Stripe (auto) | ✅ Ready |
| Google Pay | Stripe (auto) | ✅ Ready |
| PayPal | PayPal JS SDK | 🔧 Configure |
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel --prod
# Set environment variables in Vercel Dashboard
# → Settings → Environment Variables
Important: Set STRIPE_WEBHOOK_SECRET to the production webhook URL:
https://arwignplanners.com/api/webhooks/stripe
Built for Arwign Planners — [email protected]