尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗The official marketing website and account management portal for Cadencea products. Built with Next.js 15, Supabase, and TypeScript.
IMPORTANT: This is NOT a web version of Cadencea Vault. Cadencea Vault is a desktop-only application (Electron-based). This website provides:
- Marketing and landing pages
- Desktop app download page
- User account management (profile, settings, billing)
- Future: E-commerce for VST software and sample packs
Project management is done exclusively in the Cadencea Vault desktop app.
main is the live site: every push to it deploys to https://cadencea.app.cadencea-v2-beta is the v2 website in progress. Pushes create Vercel preview
deployments that are labelled "Preview" and kept out of search engines.See docs/V2-PREVIEW.md for how to view and review the v2
site, which preview environment variables to set, and how to keep main and
v2 in sync.
nextjs-boilerplate/
├── app/ # Next.js App Router
│ ├── api/ # API Routes (Server-side)
│ │ ├── auth/ # Authentication endpoints
│ │ │ ├── signup/ # User registration
│ │ │ ├── change-email/ # Secure email changes
│ │ │ └── change-password/ # Password updates
│ │ └── newsletter/ # Newsletter management
│ │ ├── subscribe/ # Double opt-in subscription
│ │ ├── confirm/ # Email confirmation
│ │ └── unsubscribe/ # Unsubscribe handling
│ ├── account/ # Protected user area
│ │ ├── settings/ # Profile management
│ │ └── subscription/ # Plan and invoices
│ ├── login/ # Authentication pages
│ ├── signup/ # User registration
│ └── layout.tsx # Root layout with auth provider
├── lib/ # Core utilities
│ ├── auth-context.tsx # React auth context
│ ├── supabase.ts # Database client
│ └── database.types.ts # TypeScript definitions
├── supabase/ # Database schema
│ └── migrations/ # SQL migrations with RLS
├── docs/ # Documentation
│ └── UPGRADE_PLAN.md # Comprehensive upgrade details
├── middleware.ts # Route protection
└── .env.example # Environment template
# Clone the repository
git clone <your-repo-url>
cd nextjs-boilerplate
# Install dependencies
npm install
# Copy environment template
cp .env.example .env.local
.env.local with your Supabase credentials:NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key-here
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key-here
The shared Supabase schema is owned exclusively by cadencea-api. Apply the canonical chain from cadencea-api/supabase/migrations through its protected deployment workflow. Do not run an independent Web migration set; see supabase/README.md.
After applying migration 029_cybersecurity_remediation.sql, configure the same NEWSLETTER_TOKEN_SECRET in the protected Web runtime and run npm run newsletter:backfill-unsubscribe-tokens once. This stores only hashes for existing confirmed subscriptions; never print or persist the derived URL tokens.
npm run dev
Navigate to http://localhost:3000 and start using the application!
POST /api/auth/signup - User registration with profile creationPOST /api/auth/change-email - Secure email update with verificationPOST /api/auth/change-password - Password change with current password checkPOST /api/newsletter/subscribe - Double opt-in email subscriptionGET /api/newsletter/confirm?token= - Email confirmation (HTML response)GET /api/newsletter/unsubscribe?token= - Render unsubscribe confirmation without changing statePOST /api/newsletter/unsubscribe - Consume a signed opaque unsubscribe token/ - Homepage with feature overview/login - User authentication/signup - Account registration/products - Product showcase/account/settings - Profile management/account/subscription - Plan details and payment history/account/* - All account-related pagesnpm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm test # Run the regression suite
npm run security:secrets # Scan source for high-confidence credentials
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
NODE_ENV=production
.env.localFor issues and questions:
This application follows modern best practices:
Built with ❤️ for the music production community.